|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息
6 ~* l5 [) H7 B, q- Y2 e# } w# z5 z' v( [$ T; G
# t$ P0 j# u* I- B& P, |Teamcenter c++ 方式:/ d* a1 [3 w/ }' m [6 t
- c) O% F# t% t# H. M' T
' H6 W4 j& n( s$ Y% @0 B( h; L
#include <iostream>
9 c4 W C. ~& r. m' G#include <sa/group.h>8 O6 u' ?8 p7 u8 ~! r9 q! Z/ [
#include <sa/user.h>. Z3 k! S* o0 s1 t
#include <TC/LoggedInUser.hxx>9 v( k% G) y" E3 J
' r1 b [* ]0 m! D4 v% X1 |
& j0 W3 {& m U
using namespace Teamcenter;
& @, o% w! U9 b) P$ p3 Pusing namespace Core;* D: m' Y I( D5 e0 D+ A9 Q
using namespace std;
3 z( Q& y, _$ X) h3 ^; Q
9 s" U+ p [+ _) C0 j( ]! B0 ]* L
% v4 g$ ^# @3 { }static void reportCurrentLoginInfomation()
/ K, L6 L" y+ d; O. c. Q3 H! [. @{
8 @0 Q1 m$ t- k8 L1 S int ifail = ITK_ok;
! x" a9 X1 N+ [. X B( _( m/ r% e LoggedInUser* loggedInUser = LoggedInUser::getInstance();& b7 \, C1 }7 S7 I, E3 G! N
* X& l: ~4 t1 t2 Y tag_t currentUserTag = loggedInUser->getCurrentUserTag();- A% b- s3 i1 R# t7 W
cout << " currentUserTag: " << currentUserTag << endl;
8 ^9 v D5 y8 b$ y/ F5 o3 W* R
* l! O$ h6 r$ |" x char *personName = NULL;, f- T& E0 }* ^$ y* G0 Z" p
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));7 i/ r( X, j7 s2 Q- f) U
cout << " personName: " << personName << endl;: P2 Z& m3 k% Y2 {" |2 |6 O+ I+ c
if(personName) MEM_free(personName);
* d% A2 |/ L2 d9 ^' p
8 y! Y0 G p9 F. u9 g. Z: Y: x const char* userID = loggedInUser->getCurrentUserID();* @' X1 S# }) y4 V2 n7 f
cout << " userID: " << userID << endl;
1 y8 a1 O7 G1 V
$ e3 f! }1 S1 Q! Q. x; y, [3 R; x& Y3 V6 Q; `
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();+ L8 c7 s7 e% \0 Y9 L
9 M9 I' f/ `) N$ H char *groupName = NULL;
\ O" A8 d/ P# E& L IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));4 ^) p# ?0 ?% z: Y# t' @9 q
cout << " groupName: " << groupName << endl;$ L$ W) E4 `1 u' ~+ [2 O
if(groupName) MEM_free(groupName);" O: ?% J6 k' ]
3 u8 q% `( k' B$ }& x: p w3 M1 {. i" L- z( k: K
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
R7 i$ q) b! A4 ` char *roleName = NULL;- j9 c2 Q1 }. b0 B7 }2 T) e
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
6 s5 Q, N$ m! ]7 K$ v8 P1 C cout << " roleName: " << roleName << endl;
5 t& ~; i, c7 l/ \ if(roleName) MEM_free(roleName); m" Y b' R8 U& H5 o& D# `
) [; V% S; Y! o/ {' }/ M: k
logical isDba = loggedInUser->isUserSystemAdministrator();
5 S1 A( I4 z }* k2 s) J8 Q" O if(isDba == TRUE) cout << " User is dba member "<< endl;' ?& L; d: g2 B' @ A. @: P* e/ n
if(isDba == FALSE) cout << " User is not dba member "<< endl;
% B" D }$ R8 p9 l0 y0 v& F! G% w5 F$ G}
! M/ C5 S! q$ h' p
( K1 A0 ]. o# A0 X: ]
' ?" D: p/ X& Z3 ^- j, Z2 w/ S' w
+ ]2 w4 I1 M( T- ^& t$ |' O- J
( x8 t) w" o+ E: {) V3 U: f" Q
! b- P; W/ |" M, T% l9 sTeamcenter ITK 方式:
/ w% z# t& J/ V% I. ^1 L9 M5 U# S* S/ z* g2 c" }1 f' s
$ _' n6 g9 W$ \, U4 J/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */5 H a* }" ~3 i# ?3 }! k% ?5 O
static void report_current_login_infomation()
* z2 P# c' z- o: K( A r! y& |{& F+ B c3 g, E/ a+ @8 p" a
tag_t
! `& k, R2 W7 [! a8 ? j current_member = NULLTAG,
0 j) l7 [- K$ E current_user = NULLTAG,
, h, H$ U6 W' \6 d current_group = NULLTAG, " u7 ^4 o6 ~: N
current_role = NULLTAG;
! h5 x6 l- u1 { char 3 H' g0 B" e$ `! Y" T( c
person_name[SA_person_name_size_c+1] = "",
4 R z- m3 A) I# y+ g3 r1 f user_id[SA_user_size_c+1] = "",
" z) `1 r8 k L4 N: T+ k4 q group_name[SA_name_size_c+1] = "",
9 g% J) Z9 s f4 j" A. T9 R, m' M( o role_name[SA_name_size_c+1] = ""; 3 ~5 O% ^9 a2 z+ S" c
" ?! m. X' C: I1 r# H7 r
& t; l, S2 D" U4 V. b3 D" Y
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));" W0 _. X V+ W3 L$ c
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));5 n4 f9 F. y9 j. R
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));: k# ^1 ~$ Q, S; ]# l k( p/ J. K
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
& \. P X3 s# t. p: p3 H/ X9 u- x
; g1 M1 _, g$ M8 w8 j) `- A' U2 ~
$ c6 K+ {0 A; x2 y2 o9 P* i! [$ P# F IFERR_REPORT(SA_ask_user_person_name(current_user, person_name)); D* k0 G2 I: M: f( A0 e8 U( ~' L
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
% ?( P. ^' r# }, p2 v& q IFERR_REPORT(SA_ask_group_name(current_group, group_name));
0 P; d/ g0 K2 V1 e, S IFERR_REPORT(SA_ask_role_name(current_role, role_name));
6 m1 E! J" M, o6 y1 `" ^" O% `' {! u! z" C8 u7 Y: @: v; f
$ R$ L# R6 Z# ~4 W ECHO("\n Person: %s\n", person_name);
" o! ]/ q# [: _2 S5 Q8 c ECHO(" User ID: %s\n", user_id);" z; Y( o& F8 R" n1 M" I
ECHO(" Group: %s\n", group_name);/ M' [2 u2 W6 W% l% M2 k
ECHO(" Role: %s\n", role_name);
8 ^2 {$ j( C: s0 c+ s}
7 p2 R* h) y$ a5 Q/ i& o" v& O8 E7 l1 j* d9 L
|
|