|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
; V* [1 P$ [2 Q" s# L, G
4 h6 U8 ~. P" D: {8 [' F- X
2 A: O+ u$ u- f8 }( h3 {5 x1 Y* fTeamcenter c++ 方式:
( l9 Y% Z0 k4 j/ t1 t3 D! v+ v! ?& d& N
) d* }% @4 t8 ?2 t% ?# |
#include <iostream>; `8 V N( ]' V
#include <sa/group.h>9 x) Q. R4 R2 G4 }
#include <sa/user.h>3 j' f4 `3 g! Y/ C6 U
#include <TC/LoggedInUser.hxx>% L9 t' g; ?; o
" s) `3 v0 @0 A' g7 v( W( z2 U# G
using namespace Teamcenter;1 V7 k3 |; l+ E# }* n6 i% y) ]/ l
using namespace Core;
3 v, a2 x2 B# g$ t. ^% `) n* k5 _using namespace std;$ F+ h6 B: W6 s! F" R
, \/ m# }6 B4 V
7 O- T; l% M5 K% B1 d6 ostatic void reportCurrentLoginInfomation()$ X- n4 n* t6 W& |" Q
{( R9 M, f7 R8 E2 A
int ifail = ITK_ok;8 P) H. d$ |, C
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
8 N- O( o& H( J, S) e
# i0 G4 L: ~7 U( }. L tag_t currentUserTag = loggedInUser->getCurrentUserTag();
/ @9 H$ ?* s7 N! K cout << " currentUserTag: " << currentUserTag << endl;8 n4 C: {- n, J2 p
& Q: |* N' j3 N* G$ L4 D+ I5 v
char *personName = NULL;
. I! j6 z8 S" n- h: o IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
$ g# Q5 C, P3 O. h$ j cout << " personName: " << personName << endl;2 |6 x! _/ s' x! C" ?0 _3 U
if(personName) MEM_free(personName);+ ?' O3 z& T' ]; ~( ^/ \1 A
$ I" O- K/ h& Y& H( o const char* userID = loggedInUser->getCurrentUserID();
$ n3 Z; K! Q9 n5 |2 D( W$ h/ u7 Q cout << " userID: " << userID << endl;+ T; C: X. ~7 g( A
, _9 u, \1 t9 H$ f; L b7 T# j8 ^
1 y9 G. j% u9 l J# T
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
" ]3 @% W. a, M+ r
" U9 G3 R. H# m8 A3 b char *groupName = NULL;
$ y3 e# s- N. ^" I) Q& P IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));2 f$ H* G( o- B4 i9 B- P1 }7 E. r
cout << " groupName: " << groupName << endl;% x1 o6 N. i: }& n* R
if(groupName) MEM_free(groupName);
4 z5 _9 W' g4 P% x
- y* v! a) S( s) V- U- O7 [2 p; k# M& ]5 C
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();+ b) u( g$ O+ t& h/ j
char *roleName = NULL;
' M; K8 V+ F* e4 i IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));' E4 E. Z) r0 N5 T" G p; c% v( m( Q
cout << " roleName: " << roleName << endl;
2 ?3 a6 c8 {. |" [ if(roleName) MEM_free(roleName);2 f3 E# {0 m$ k4 O# c& N/ Q& [
; Q& _0 t8 v a" W; k4 d; V logical isDba = loggedInUser->isUserSystemAdministrator();
: k; p2 x+ |+ G/ r! b6 W2 i if(isDba == TRUE) cout << " User is dba member "<< endl;' H. D& u& f5 b; i4 {. @
if(isDba == FALSE) cout << " User is not dba member "<< endl;
% t! ?* b+ H9 _! ~9 `2 o}
: i2 Z! S4 o1 M! j: t3 L9 s- V: T( T B" h; ^9 y7 g
1 n' v% I2 \* t. g* ~: Z- j9 q4 G: k
6 I4 ]' K% E/ f. ^- N
: s; \, |" S' K+ w+ U4 D
Teamcenter ITK 方式:
* m: S* e/ O0 ?( H; b0 Z: a4 l- X' n; M9 u( A
. @: A1 ?5 O( R/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */6 _; G2 t4 r/ u
static void report_current_login_infomation()2 m3 J, T( [% g! A
{8 O7 E* Y: }+ }
tag_t
8 R) x6 j4 Q3 E5 e- L* S current_member = NULLTAG, 1 d) P3 M4 S* j3 s5 M
current_user = NULLTAG,
5 x+ C I1 n. d6 F( y6 k0 l3 R current_group = NULLTAG,
4 V9 D! y M* F. E current_role = NULLTAG;
* t3 P; u- F, T5 ]& S char
' g6 b/ r0 E c7 o1 a1 r person_name[SA_person_name_size_c+1] = "",2 _' ~$ b# E; y/ p) q( h. v+ s
user_id[SA_user_size_c+1] = "", * T0 Y3 }- o- o' F
group_name[SA_name_size_c+1] = "",
. L5 i% u- X( h9 K7 C role_name[SA_name_size_c+1] = ""; 5 |& X! j# @; t
$ i4 S( j% ^5 P& p8 x4 e/ T* T2 r& m) r7 e8 b( g; o6 a
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));/ C( ^. W$ p5 R; Y
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
( }0 G7 O% S* _2 _1 {6 e IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group)); C& v6 k9 [) K* F1 M. @8 @" m
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
4 A7 C4 Z5 g9 x3 I' G' ?/ C# f! Z" `. ^- M$ ^9 Z i$ ~
4 v5 U8 ?( s4 S( `# D8 M t% K
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));2 w- Q7 ?6 o0 e3 F
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));* }9 J' m. X9 W, e: y
IFERR_REPORT(SA_ask_group_name(current_group, group_name));6 ?( E2 e; e& h) w. k( I
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
) c) m x. }3 G1 J1 w3 {' j. g: B8 |1 Q
. o4 n8 ?% K- y. h# Q ECHO("\n Person: %s\n", person_name);
; b! e D) F+ `: j7 q: l ECHO(" User ID: %s\n", user_id);5 v/ Y( c* _! l; O2 N' D5 e
ECHO(" Group: %s\n", group_name);
0 \3 }" P$ c7 z+ i ECHO(" Role: %s\n", role_name);
2 S& W. e' W( `}% W4 @) a% e+ @
' p2 S0 c, S$ t, c" P0 j! L
|
|