|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息 |9 e2 C4 {) i, O, H
g; R5 n) l; @
L; \- I* \4 y7 X7 T+ l) ^( YTeamcenter c++ 方式:
$ b9 @1 U% f6 t) ^% o, ?/ o6 R0 A, ?2 |# g! d- A
) z2 Q A, d9 N5 x#include <iostream>
% ?& i# z6 g0 l#include <sa/group.h>, ^) c$ w* g1 p* z
#include <sa/user.h>% [* U$ u+ `' k* B! p* w; M
#include <TC/LoggedInUser.hxx>
# b$ s6 v& o% B
+ A1 B: Z6 M' q( w9 B8 @$ C* F1 v5 Y1 A: E
using namespace Teamcenter;- R L: [. s- v; O' u; d% A$ R; l" A
using namespace Core;0 x( S- W4 W' R4 s' R. `/ R' ~% q! c
using namespace std;
* @, B3 y& ?: J7 l
, A+ `! ^+ J- L5 Q T
# ?( }/ k7 ]8 g/ `7 ?static void reportCurrentLoginInfomation()1 z7 D' y. @* }* C
{4 q. O% D3 m% D4 N
int ifail = ITK_ok;$ {1 `9 v; j7 q3 {/ v- H- w
LoggedInUser* loggedInUser = LoggedInUser::getInstance();3 t/ u& y: K5 h! a4 o% j, b1 _% z( {
0 Q6 S& W! ?0 X: ]- e& O9 }& k2 K
tag_t currentUserTag = loggedInUser->getCurrentUserTag();" T: T, x# r( `2 r
cout << " currentUserTag: " << currentUserTag << endl;
5 I! s$ S$ F9 ?) b) _: I . M; ~/ m- k: g$ u
char *personName = NULL;
1 ~. }" I% P9 X- P6 @ IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));: V' f( D6 \6 Q+ Z
cout << " personName: " << personName << endl;
! L4 T* Q8 R- c* m) ?9 ?/ g! R4 J if(personName) MEM_free(personName);, i# ~, N7 x3 U) ?
! C) G7 i1 G+ j$ m, n0 B" }
const char* userID = loggedInUser->getCurrentUserID();' A" ]1 i! B0 o! s+ U, j5 a
cout << " userID: " << userID << endl;
. j" ], x7 H2 u6 A/ W9 s
& o8 [% s9 {1 M- }& r+ s" ]8 Q8 w& `3 Q9 h( `
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();( r8 n8 }0 a' t2 n! v: n
! k. N: o$ G. s char *groupName = NULL;
]# D6 Y& q4 b IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
2 r4 f6 @1 o6 H+ j6 b cout << " groupName: " << groupName << endl;4 s( ]4 O4 U0 f7 F6 i) e
if(groupName) MEM_free(groupName);. D$ |+ p% p7 H- w0 Q& N! n4 [, ]- S/ O' M
8 t+ {( E; @ k$ O2 }( s& U- v( `: d; _7 j" ?
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
/ T# v( o E+ m! B char *roleName = NULL;
7 J8 D$ {3 F7 m3 }2 z IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));* p' F* q, k, B* K; N! }
cout << " roleName: " << roleName << endl;
9 L1 j" ~5 g: k. u2 j- r1 a$ M if(roleName) MEM_free(roleName);& t, t0 h& p9 C1 m4 c% L7 s; J
) {; D8 a3 S, v s" z* U, T2 r1 f+ w
logical isDba = loggedInUser->isUserSystemAdministrator();
$ U% n2 D+ a1 @" a# l8 x M if(isDba == TRUE) cout << " User is dba member "<< endl;" b# A! p& x9 G2 a) A
if(isDba == FALSE) cout << " User is not dba member "<< endl; ! p. J' A1 w7 N* u. A
}
. H# ~$ X) q% s9 k" f5 H
9 G9 G4 U$ ^1 h8 q) O8 J% R; O7 R( N- Y4 j `$ |* {
/ K" R. v! F F8 o
9 ~$ i3 y6 n- R |* p4 q1 J
' S" r. Q/ a7 z* ^( u& m. x9 STeamcenter ITK 方式:
7 M/ b' }# K$ q C* f4 b& m2 J* D0 g& ^# j
) r. B- t7 e; x" c- O; B/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
( y; d, B! c3 a% ostatic void report_current_login_infomation()1 c" I$ s& H% M8 t8 D: S
{' a+ u' ?6 T. r" x5 m3 _- ~
tag_t
5 y1 H9 p5 P7 k- y' t+ A current_member = NULLTAG,
" H9 C* L- m" Z3 Y$ `# w0 w current_user = NULLTAG, # b. c& C3 h! ^
current_group = NULLTAG,
7 K+ Q) R% E2 r/ `$ [* v" y( Q0 { current_role = NULLTAG;
7 m8 X0 b" Z* v: J char 9 I* K1 u4 m, j; q5 u, g, f
person_name[SA_person_name_size_c+1] = "",
3 n! V5 g' ^: P" o" |0 Y f; R user_id[SA_user_size_c+1] = "", ! g+ x8 c9 Q* a( B( [, v) c
group_name[SA_name_size_c+1] = "",
2 N8 S4 I* x7 x$ E9 E/ m N role_name[SA_name_size_c+1] = ""; ; X8 [8 e7 ^$ j$ h; J
% Y2 ?% u' ~7 A+ q$ }- p
- A$ t% B# [0 @; W
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));, s0 z' j' a- B/ \
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user)); k% N2 P/ M1 T9 x: y/ n/ c
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));. ?5 ]3 ]" ^" g' D* C* i( a
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));/ Q: p1 I5 c. W
$ J7 F4 }, v" j
# H+ o1 W9 Y) v3 y3 z: ^5 V IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
/ n, [8 k% u0 y1 |" I IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));: [) r: R& U8 h e) Y
IFERR_REPORT(SA_ask_group_name(current_group, group_name));' u$ S/ p+ s* d3 i% _1 P, O
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
n. f1 X' p: O4 n. a" X* g& D* b
( m* D7 r+ U& e% F
) S0 u+ Q; H. t4 z4 j' k$ r6 ~ ECHO("\n Person: %s\n", person_name);
% C& A% X" }" o4 z# i+ z ECHO(" User ID: %s\n", user_id);# N2 V2 m7 u$ A
ECHO(" Group: %s\n", group_name);
& [/ O" E' { c$ _ ECHO(" Role: %s\n", role_name);
6 ^& y& l% p+ N8 l8 b}+ Z' i% {% e" ^: G9 t2 D+ t
% G7 A5 y( O- e0 R |
|