|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息- P1 v. L1 ^/ D$ t( v5 u# H
/ \7 S* A5 d A( v+ o% ?
: i6 x T1 p9 B! V3 l: i2 r0 j; ZTeamcenter c++ 方式:. {& v* b3 p( l+ E9 ^; m
8 e* F3 [/ O" f' v# M% m0 T( T+ ]0 O: D6 P' x* E& Q, Q
#include <iostream>
8 D9 j; L3 s2 ^1 k#include <sa/group.h>4 C. I' T* ^, z
#include <sa/user.h>
2 m7 R( U' Q- M/ I#include <TC/LoggedInUser.hxx>
# B6 G" m, W/ \) n, ^
# F; I E9 r: J' u o7 i7 {( F8 a5 v3 m L
. d% ~' b. b# B) E; s) N" I; o) wusing namespace Teamcenter;
' B* ~7 y0 f, _! [using namespace Core;. |6 p/ g0 _0 J
using namespace std;& X e* Y. z! Q
2 Z3 \3 @6 u& i% ]+ W* @2 s$ K0 X
9 ?0 P2 H) O: x5 N( p- H
static void reportCurrentLoginInfomation()+ G5 t; _% l) y/ Y9 v# [
{7 ]* j% |. e- ]/ m2 E+ h# e
int ifail = ITK_ok;: ]0 l* X" r. r& f
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
- ^) X! T8 V3 L3 z5 s ; a3 j$ P+ x/ G, v; b% L
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
; j1 f" z t, ? cout << " currentUserTag: " << currentUserTag << endl;
) g- P$ u. ?$ f' @3 V3 d , T4 g- ~2 I% P5 ^3 e) I9 g
char *personName = NULL;
6 m- D6 I: |: J& L! D IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
. I+ Q' W) b# o4 X o* a t cout << " personName: " << personName << endl;
0 c3 ] Q3 Y+ P. l. V0 U0 d if(personName) MEM_free(personName);
8 c6 Z) g4 U3 T; z & T, S8 H" \4 t# |
const char* userID = loggedInUser->getCurrentUserID();
# d$ N$ O( h( q" I0 j cout << " userID: " << userID << endl;, t9 M e- ?' c$ T6 F7 V8 z9 q1 V
, ^ z1 v! L. R: O
6 K* h! k$ O) p8 m$ C8 L! S5 Z tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();4 g$ N1 ?% b& F( }+ `7 M
Y$ d3 k2 j w( u: h; P char *groupName = NULL;
7 Y+ T E* S7 Z IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));+ j0 k8 g- Q* k+ V; m' S. Q1 f5 y
cout << " groupName: " << groupName << endl;+ H' b" r. U- G Z l& G( r
if(groupName) MEM_free(groupName);
" d5 n7 b8 Y0 a* `- r9 W% `( Y2 j- T& c$ L' v& u6 K' c
) m& Z8 ]+ d+ [) k! y
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();, e' u( R0 E& r
char *roleName = NULL;
2 P6 Y3 ]: S; g# e2 {- a IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));$ a: D! _; @# K' Z5 G" T8 j
cout << " roleName: " << roleName << endl;
, ?- u: A0 a9 f0 s if(roleName) MEM_free(roleName);
) w* O! H$ ^7 @0 h
4 q f& c& k0 G/ m8 U% o# Q5 j, w logical isDba = loggedInUser->isUserSystemAdministrator();
$ p- Y( _( Y0 u7 c if(isDba == TRUE) cout << " User is dba member "<< endl;, V: C1 a2 b5 P/ \7 D0 u# b
if(isDba == FALSE) cout << " User is not dba member "<< endl; ; }8 Q0 Q. r! {' u" b) J
}0 T3 e. y" Q# D& b6 S% q# {2 ]
4 @3 l" _* z* X- @8 U+ i
/ ?, B7 f2 m: H9 k: Z# }% s+ y7 K3 o' [7 u+ d# `8 n6 i, v
5 T5 _) O+ l- _! z L
: i/ Z) W" j+ C) cTeamcenter ITK 方式:/ b; w+ N+ O' G$ O
9 Z. y- }. w' w" |6 q& `
8 I9 V( Z& l* `' a6 O9 r6 A U; h. c! a/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */7 W: j! x# G/ A$ j
static void report_current_login_infomation()1 H4 j! Q3 u& _" P1 ]2 o
{4 a+ e: e9 e- v g8 ~2 ]
tag_t ' u3 x4 ^; M+ I" @3 H$ F1 v) U7 Z
current_member = NULLTAG,
* ^1 Z) A; | P$ i# b- z current_user = NULLTAG,
6 ^/ u% @# g- q. u: {4 R current_group = NULLTAG,
0 y. I3 N; `, I) q% q3 S current_role = NULLTAG;
/ t. Z- l/ |! S* F char 1 i' W5 f7 ?, U2 B1 \8 ^
person_name[SA_person_name_size_c+1] = "",, U( Y) G( y5 i5 P: q9 R
user_id[SA_user_size_c+1] = "", d; }% d j1 K6 k" M c& u
group_name[SA_name_size_c+1] = "",1 U( ?2 k* i7 {* a7 Z
role_name[SA_name_size_c+1] = ""; 6 u( n _$ x% `
* R; P& O9 J* o+ x; E
: {4 o# x" V# q# X$ @, o IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
I# M/ P" i H9 R! O* E IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
" S% Z* G8 _, G7 h# e IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));. s! a Q+ d2 k! d: y9 i$ }4 r
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));3 Q% z. @! X; z
! G* b# e- p6 L8 S. y3 \5 D/ B$ y' |
) m W9 W" ^& W# w% |6 W
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name)); R& a( G# x: b3 H9 o. b
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));6 Y2 X% _+ \6 |& x4 @
IFERR_REPORT(SA_ask_group_name(current_group, group_name));0 h) b2 X- O( s7 w' d2 b4 ~
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- D' x% s, A5 q# g5 _7 c2 F
- ? `7 \6 s4 w& Q( ]" u. [
3 q. M! }. C! N5 x3 J' f ECHO("\n Person: %s\n", person_name);' k. \! w9 B6 y
ECHO(" User ID: %s\n", user_id);
) y0 B, N/ M9 Y c* V6 b' t- } ECHO(" Group: %s\n", group_name);" P) S. k: K: B
ECHO(" Role: %s\n", role_name);
: V4 `, }4 r, w/ p( N7 [1 x7 u7 v}
& x1 b2 O7 Y5 ^/ Z# K( o
. x7 K9 B( w" }+ e |
|