|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
8 G2 ~" s1 s6 M5 w7 y4 N1 f5 g: U* X8 {% O! m& o6 J
8 ]/ f: m" ^6 I1 y# ]7 y6 qTeamcenter c++ 方式:, r0 i! e9 B z! \5 J3 W1 ~% M( V$ \
: t. e' Z3 M: q1 U7 y! E9 W9 ~! n% K7 }$ L; N5 H8 v6 g, ]
#include <iostream>
& t7 d Z2 p% ] [9 s#include <sa/group.h>& @* ~) V5 A: n4 x! E. w6 K
#include <sa/user.h>. ]" m' |$ V0 C% Q/ _
#include <TC/LoggedInUser.hxx>
1 ~- z: Q1 y! K# |, m
# K6 Q* K4 Z0 t- V6 m+ J" H* ]1 M$ o9 f \" x
using namespace Teamcenter;$ e7 H2 b0 S) P$ s R
using namespace Core;
. Y2 T! B3 s+ \using namespace std;6 V7 j2 s) t& w/ m) s1 B7 X6 w
, M- q/ ]8 F$ {* }! b
* |( F7 y% S6 Z& \& e0 G
static void reportCurrentLoginInfomation()
7 c) z+ H( x" ?1 ?- E{; c8 e6 F! |6 j0 R/ I" k% a- O
int ifail = ITK_ok;2 t& ^/ n) ^5 C4 I C* u1 p+ K; C
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
* D$ Z/ h5 S k- s ; B4 ~* b }1 }
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
+ b' O, Q! _$ ^9 q9 I$ r3 t cout << " currentUserTag: " << currentUserTag << endl;' A1 B, }' h" f$ Q Y
% W$ B+ Q9 g9 m& h
char *personName = NULL;
! f+ c7 w* I; b IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));/ Q8 H! J: e: i! u, g N& O
cout << " personName: " << personName << endl;& N& G+ {0 F' E" f( |; Z6 m
if(personName) MEM_free(personName);
7 ]$ o9 _, W8 g6 `. x
: W' B/ b* V- @5 B, g2 S; I const char* userID = loggedInUser->getCurrentUserID();
3 O, K% U8 V& S0 z' V9 S cout << " userID: " << userID << endl;
7 E, Z' \. g' |8 p( U8 y/ B! u/ u4 Q# Q3 s0 `
3 D) i% \$ f5 r( p
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
9 U9 O4 U3 ?* \9 E: Z ' \, E" J7 J8 W" H! }1 n
char *groupName = NULL;! P' u) T! W/ e/ S$ ^3 r2 f8 o) K7 H
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));8 e/ l" K2 u: ~" p3 J0 P1 e) d
cout << " groupName: " << groupName << endl;
1 i2 I8 [+ R( E if(groupName) MEM_free(groupName);
% {1 r+ L& i% ~ U4 g+ i/ i' S; E
" Q2 A7 c: @- R, V$ {" P: n/ T* z4 z
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
: I K( T# X% @9 O& Z( r char *roleName = NULL;4 y( }0 X' g: X
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
+ E t- z0 Y' Z cout << " roleName: " << roleName << endl;+ O" U! R" S2 U
if(roleName) MEM_free(roleName);
7 m: R0 g8 o" W
$ W9 w2 |5 P1 Y2 Z( \- `) { logical isDba = loggedInUser->isUserSystemAdministrator();
- Q6 B" I3 z1 c5 i, m" x- i if(isDba == TRUE) cout << " User is dba member "<< endl;: G) ^" U4 [2 g7 v$ C) j
if(isDba == FALSE) cout << " User is not dba member "<< endl;
0 y/ L2 v/ S" P}
# L3 i0 p& F4 B$ ^! K" r/ D [, k1 O. M& c* z6 K! I# c
( i4 }! z) |- g( L6 E
( [% D7 O" z) F, z
' d" ^& {- v- {1 N" }/ F/ k* B: b
, T* K& o4 J; a# ^Teamcenter ITK 方式:
7 i% w' u: ^8 `( k# K2 x1 m& s9 c, t6 {- }8 I- p/ Y
- B) i4 j @8 ^
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */4 ?' L# M; z3 a7 t0 d1 V/ E
static void report_current_login_infomation()
1 D7 K( D j, @. q) P9 L3 s3 b5 D0 Y{! ?; m8 P, {7 y" U0 b
tag_t
" I) h0 ]) e3 V! B current_member = NULLTAG,
! R e2 p# v$ T P current_user = NULLTAG,
( S1 _! W9 y5 L! v( y+ A/ \ current_group = NULLTAG,
( |8 P5 x5 h* d3 h( `/ Y current_role = NULLTAG;
0 @7 i# U0 }+ Q! j/ J8 i char
: _+ F- o! z) W. a& h% v person_name[SA_person_name_size_c+1] = "",
, O% j* v N; a% _/ m [. W user_id[SA_user_size_c+1] = "", * m' K* E. A3 Z3 i8 [
group_name[SA_name_size_c+1] = "",/ _5 Q3 O" N9 p( s
role_name[SA_name_size_c+1] = "";
I& a2 M7 X0 J& G5 ^4 M; N$ K4 a" Z6 T
0 L9 ?- w$ p7 V* I IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
; T( n0 M- ^; |& W b- J6 i% X IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
5 }1 V% f7 n: C9 q IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
Z! N- W7 @/ e) Y6 C IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));+ u; ^; ]- s7 F
) v, z; K- U9 {& L: `5 G
# R3 e- @3 U# m% a9 d6 R! g& X8 ]+ s IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));3 ? W) b& y, y H* ]2 g& f
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));+ X0 s- J& J% ~8 v4 C: r* K
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
4 O9 B+ Y$ M' ^) @8 H$ R IFERR_REPORT(SA_ask_role_name(current_role, role_name));
) p# K5 V) L# d" M4 q
, K0 z% j" |% c! g0 m2 f. Z+ `+ S+ |: d2 i% a# m' K0 B
ECHO("\n Person: %s\n", person_name);+ {) H4 I& ]1 v0 T. v+ h Q% U
ECHO(" User ID: %s\n", user_id);; d8 a$ T& e6 v' z8 q( u' z) p- \
ECHO(" Group: %s\n", group_name);
" ^. b, O/ Y1 Y5 D' ?. c6 o3 H ECHO(" Role: %s\n", role_name);
~5 h( M( i# v( \# ]& [}
. n. r* `7 b! v. p: }; H" f n7 b$ A
|
|