|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息; w. H$ L' K/ o# T ?
$ f& x! g2 V; y+ r2 Z
& d& g8 u' c. S _" ?/ j' B2 `Teamcenter c++ 方式: L# W" A7 [# s5 V z8 S* N/ z8 N
5 Q- _/ s, ^+ R6 I" x
& Z+ B+ Q H& ^. {
#include <iostream>
. w8 `* A. b( C3 j& i. y. N% G#include <sa/group.h>
6 [! \' K" q6 q7 J; f3 b#include <sa/user.h> ]7 N/ c/ K/ M9 n
#include <TC/LoggedInUser.hxx>
% ^5 w4 s( I3 c, G$ A O4 n. }$ q( X
8 ?3 x7 q8 S! j& Lusing namespace Teamcenter;
# M5 _- p" R0 nusing namespace Core;' p+ K4 Z' X- U* n4 B
using namespace std;
' L- F6 y' ^' j- v
+ X+ U" q& \- P$ U: N1 k* u1 w5 Q! n* q9 U& q, V% F& p# y8 |; |9 p# r
static void reportCurrentLoginInfomation()
" i) E& \0 `6 s( B( V{6 s. K9 M* w& ^, R1 q! _8 a7 n
int ifail = ITK_ok;6 }! o# l. x! S( |- M
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
4 y8 ]- N& }5 z3 ]7 `( W
& _% b! A; m* S4 C" z& w5 j8 w tag_t currentUserTag = loggedInUser->getCurrentUserTag();, T3 M; t5 p5 N) f4 o9 f. l1 f
cout << " currentUserTag: " << currentUserTag << endl;
. `# J3 X2 N! M0 q' k; B 7 I6 [; l# q N+ B( Y
char *personName = NULL;
! R0 M1 w1 @* [ IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));' s0 V3 q6 S% D1 N: U5 W# ^$ u) k9 F
cout << " personName: " << personName << endl;# d) Y: S _4 C. B; E4 \$ j* C
if(personName) MEM_free(personName);
! Y* I3 B% O; v' L0 ]9 z8 \! P
* s! c% ?( i# w0 o8 C const char* userID = loggedInUser->getCurrentUserID();. b( [9 r7 s' W+ s" t/ T1 Z
cout << " userID: " << userID << endl;% K% L6 @: T! u3 {: y& w1 N
6 e) v" |: C) d( m8 Q
( U0 F, d7 h9 s$ t) G
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();2 F: \/ k" i; C; B5 q2 h, s# K S
* d, u/ Q) o8 ~& l6 V char *groupName = NULL;
8 U8 G) H8 d8 [& f* p IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
" }' z- R! ]6 v; g+ K6 B cout << " groupName: " << groupName << endl;4 I( H+ Y9 d, e" K
if(groupName) MEM_free(groupName);6 h: j' J4 m+ h1 N" `" ~
; {( M& ?8 k5 D0 G5 H8 h. w2 p O* N
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();. p5 A( K) ~# H' f4 Z/ G7 ]
char *roleName = NULL; g8 G0 b: N2 M
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
0 R* R: Z; S. @% M5 J7 @ cout << " roleName: " << roleName << endl;7 j3 @0 y5 M8 M+ M5 s5 L
if(roleName) MEM_free(roleName);" Q, u: I; J7 v, R4 A2 \
+ J! s' z0 s. M3 @+ Y+ \ logical isDba = loggedInUser->isUserSystemAdministrator();
( _3 i- q8 h- D( T' p2 A B if(isDba == TRUE) cout << " User is dba member "<< endl;0 C9 f- I( z! O$ ^; O% k; {
if(isDba == FALSE) cout << " User is not dba member "<< endl; 6 V9 ]9 [" ?- B" W. x. B
}; U6 I) @9 u ?1 K, ~
9 D: w: b p9 @# C
7 w! ]* C* U$ e6 r4 i1 b. N
' P* a1 Q5 h# B2 B% q/ r
0 n# t5 r" J3 ~: D9 ?( X0 T$ G' S5 s0 e$ ]' q( C' J1 f
Teamcenter ITK 方式:
& b" C& \7 f2 z' j6 Q( D* C
3 Z A0 B) b8 r+ c( K+ j! k* @, M+ h+ Z; n6 {' B. l3 S
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */0 T8 \! K w/ a/ i
static void report_current_login_infomation()& T# W5 _2 i5 X1 k9 \$ t, v
{
# o z' a( y T) g8 Q tag_t / T; \2 R1 E; L+ `* }5 n; H; P
current_member = NULLTAG,
: G: m# M- ~0 I5 L, Q+ X! a current_user = NULLTAG,
% H. M9 E5 M, {: w- c/ J+ u, G1 f2 c current_group = NULLTAG,
$ \/ h2 o E0 U' w6 | current_role = NULLTAG;' k5 }- ]3 a3 v% L
char
$ l, y8 O$ o% `9 i& @5 L# Z }# o person_name[SA_person_name_size_c+1] = "",% z' `3 r6 l5 A; Y
user_id[SA_user_size_c+1] = "",
7 V* O! n( W4 e! j8 M, P8 i group_name[SA_name_size_c+1] = "",
+ T! K( a6 h- U role_name[SA_name_size_c+1] = "";
9 t3 ^; Q3 D; K' A- O$ r( a$ `, [" M7 z- J \0 v7 {
4 U! d; P9 ~7 u0 E) W' b9 [% y! P IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
8 A. ]) x, p+ J) n U2 t IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
! I2 k& E, ^( Z IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
4 C: O$ |' e/ o. ~ IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
9 k1 m e9 r" c4 G/ e. W0 K
# b7 }1 h4 h5 t; u5 Y- v
" a/ ]# Q- U6 U6 x9 s' m. H IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));2 C$ O7 ^1 U3 c4 l( v
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));9 o5 y) E) U; A; a" X
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
) m8 b1 o4 Z! g1 Q5 o- b) m$ G5 S IFERR_REPORT(SA_ask_role_name(current_role, role_name));
, S+ a. O8 d6 O6 g- Q' h, n8 M8 n9 H) W$ d0 p# G
' O- W, r7 \ j1 d5 {' \$ t ECHO("\n Person: %s\n", person_name);5 J7 k5 K" m, i9 \2 v7 y m
ECHO(" User ID: %s\n", user_id);2 Y. U( U' H) U( c( k0 c' k! s
ECHO(" Group: %s\n", group_name);
! R/ }5 v+ U ], ~, R% \( \ ECHO(" Role: %s\n", role_name);
/ f+ v1 H" y% T3 |, F6 B6 `! o' y}$ ?3 ^1 G1 J) |
: `- ~5 ^$ t y* j/ e$ f
|
|