|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息/ M9 p* U2 [ V+ M6 \9 c
+ h; r) y* J! | g
! B: f5 T6 W1 {; k3 E) g- Q6 NTeamcenter c++ 方式:
' n, ]' {9 g: l6 ?
# r/ `1 q$ p4 @6 L$ ~ K9 {/ r% i- j4 T4 r9 P2 w) [8 u: D$ g
#include <iostream>
2 ^; T$ N% {) @#include <sa/group.h>
$ r; g4 H6 x$ P& g$ z/ ^#include <sa/user.h>+ T _7 x8 m% F* q3 a9 y1 r
#include <TC/LoggedInUser.hxx>/ ^3 Z: L( Y* r
+ p/ Y' |" a4 J2 Y2 z D9 d9 l+ K3 N
9 m5 D7 i8 n: h' j7 O* W8 h. ?7 kusing namespace Teamcenter;
; R K7 d$ J+ z1 X- Uusing namespace Core;
7 h( q9 d7 g; \' Kusing namespace std;5 H( G# e7 u' C* j6 E
/ A1 [1 g% d1 e3 I4 U; B# S" t, _: z L& f
static void reportCurrentLoginInfomation()
W, N- ?) k$ v* U0 d{% V2 ^5 N8 K9 c% O, Z% M
int ifail = ITK_ok;
7 z; U+ J$ v! W! X+ s0 {0 F4 f LoggedInUser* loggedInUser = LoggedInUser::getInstance();
, x4 p: n1 r5 @/ Y 7 h0 s1 J h1 P) F3 Z% A
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
; `. y; Z0 B2 T* D, u2 P cout << " currentUserTag: " << currentUserTag << endl;
. j0 ?- P% i1 ^2 n$ B : y* h" ~4 E; i! X3 ?
char *personName = NULL;
5 Z v5 i& Q# p8 b" L* Y IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));% w; @) x1 {2 N
cout << " personName: " << personName << endl;
7 q' T% t X) \/ a if(personName) MEM_free(personName);
. U; a- x" c i1 f: G
; Z4 | A3 ?5 u( P4 _6 c const char* userID = loggedInUser->getCurrentUserID();
8 e6 @6 l" n5 ? cout << " userID: " << userID << endl;1 x5 m% Q3 I# {' z/ k) [% ?
7 n p# ~- ~3 _6 J" n
9 ^- o$ H2 e4 u. t( y
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag(); ~2 D; J# N( @2 @5 o5 s ^
5 a C7 z4 k" H0 |: h" a" M( N8 K- N
char *groupName = NULL;
8 o% C1 U+ S( m- b) j IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
$ M5 \* o( V/ b. u+ _ cout << " groupName: " << groupName << endl;
, c1 `3 }( P, ]' C if(groupName) MEM_free(groupName);" X3 h# f9 Z% r$ N k+ N
9 x/ M+ n$ D& b9 D
: Z( ~4 Z: A, M* Q7 O
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 B; V) H. u0 o. ?# D5 g char *roleName = NULL;) [: d9 T+ L N9 C
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
) {+ ~& m' s1 u cout << " roleName: " << roleName << endl;) `* U) b* \+ L# f2 M: a$ E. j8 p3 Y
if(roleName) MEM_free(roleName);
C: u& N( [: H* K: k
$ m o( U6 J+ @) W logical isDba = loggedInUser->isUserSystemAdministrator();
+ C& `; d! ?8 [) e* Y+ x if(isDba == TRUE) cout << " User is dba member "<< endl;8 M( x* r1 A9 n* S0 A& k2 t2 l
if(isDba == FALSE) cout << " User is not dba member "<< endl;
/ Z; g" s& _3 s# e9 B}& ~3 U& W. w. ]0 Z9 ~
z r' z0 w! U) ]. s/ o t0 `: I
8 S3 f0 b. ]& Z+ N/ l+ d$ b1 y
, V u. f4 d" B1 Z7 R
" m& p: F6 K" p: J) i; y1 b
4 B- f4 A! ]4 T' H7 ?* v5 fTeamcenter ITK 方式:4 z' K- B4 h0 o
1 m0 F# @2 T. H3 C' A5 V
. H, F+ D$ V* `! m, p2 B d; S/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
6 [* E. w" P; k- m; U% @3 gstatic void report_current_login_infomation()
, m- j" j0 O2 |$ Z, x3 i t3 D; g{& t8 m5 [7 T# i
tag_t $ R J: ?; g1 i! Z# m" T) J
current_member = NULLTAG,
8 t% h5 G% l7 a6 Z3 Y current_user = NULLTAG,
6 r/ K+ M( y7 E0 k1 d3 q) z3 e current_group = NULLTAG, 5 d- A0 } g4 n- @' y
current_role = NULLTAG;: ?+ ^( R' C5 @* y
char
, w' \- w# v Y. X& G! t person_name[SA_person_name_size_c+1] = "",
! I* w7 i: r4 X3 u& ^: _ user_id[SA_user_size_c+1] = "",
! H+ k, t% c2 c0 x group_name[SA_name_size_c+1] = "",
4 ]" v! K8 U) l1 H role_name[SA_name_size_c+1] = "";
) \5 w' o; Y+ m1 D' R/ E. k4 e
6 T. |, |: @/ M( T6 Y/ u7 t' A6 O0 R
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));( o) M; l H8 R# k
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));5 b3 A0 t/ k" E
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
- _& C+ a4 Z# D) d& ]' V IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));) v6 g! {$ p6 B }& d% j3 J
3 L6 w4 b$ t' j- b
7 C3 A4 S" R# c w6 C
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
' j$ k. U, i7 t: [ IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
$ l: U$ ~2 p$ ^# y; p- k IFERR_REPORT(SA_ask_group_name(current_group, group_name));
" W6 k+ [9 q9 n% A IFERR_REPORT(SA_ask_role_name(current_role, role_name));
! Q9 Y, ~5 @# D+ d: c
V# }- k: d) D6 g0 @. g; c. O$ S O
ECHO("\n Person: %s\n", person_name);5 @; V- T X' Z. t
ECHO(" User ID: %s\n", user_id);: G1 y- v# @+ x' @2 z) g
ECHO(" Group: %s\n", group_name);
: e# T+ _: ^/ H- L0 e6 S ECHO(" Role: %s\n", role_name);, s2 a4 Y& I) {( W
}) F; R, J) U r7 L5 h5 G
( J! H. [# V1 c |
|