|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
) T9 m5 q! r# Y6 C8 ~( _$ o9 y" n) g# t% n5 ^0 L5 R
4 c. ]# ?& P0 k3 M8 [+ o) T
Teamcenter c++ 方式:
/ s" t/ K0 c8 p' v8 l5 O! _4 w* b! \* i6 u0 G8 l
4 P& e; ]* E7 ?0 t5 F
#include <iostream>$ T5 L" Y% j- e" e9 t- u( g
#include <sa/group.h>
. D2 } i6 j, M, k+ N! J- D: K& p8 c+ C#include <sa/user.h>
: X% [3 Y0 [9 G8 l' L7 i$ m" P+ e#include <TC/LoggedInUser.hxx>: ]* W, ^# Q: }" G
% n# C- P8 L$ a+ ]
4 S% |( ^3 h) i9 G- n$ }& |using namespace Teamcenter;
: s) V) |9 p# N$ V7 W. z* Wusing namespace Core;
+ W0 d3 S* m& }. n+ N- @5 x* Husing namespace std;) d- ~ y' S$ B$ B0 P7 x
$ l: m2 g( ]+ E# e
o& W4 J. R5 _/ r# @3 dstatic void reportCurrentLoginInfomation()) y/ U9 u0 O! o5 o- U0 _
{
! I, b( Z8 z- f/ y/ Y# W4 Y* `3 f( E6 } int ifail = ITK_ok;7 c- `4 W, d$ ^ I+ s; D8 I
LoggedInUser* loggedInUser = LoggedInUser::getInstance();% x/ g) r U- t) x+ V7 v9 a
" P# k, e/ C( \& _2 f tag_t currentUserTag = loggedInUser->getCurrentUserTag();5 q* n3 p& Z4 s
cout << " currentUserTag: " << currentUserTag << endl; k# u0 z+ W8 ^0 y8 x$ U
9 {3 c. {& W; N! I6 z* D2 m& H3 P
char *personName = NULL;$ A }4 q- f$ s, c4 Z9 [( k
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));! M# Y2 P" ^% w7 n$ d p# Q* P
cout << " personName: " << personName << endl;
: L( t3 u3 L# R1 w5 s if(personName) MEM_free(personName);
* Z' T; h, @9 |, S
+ K! l5 s+ r& Z4 i+ o' ]) ?5 q const char* userID = loggedInUser->getCurrentUserID();9 P' E! \' a+ S% A! [% H% O8 N
cout << " userID: " << userID << endl;
, M7 h* x$ L! z$ f( V% @, i' u6 u4 G: o( M: H
' U, \1 ^; Y+ t( }7 E# G: i tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();- v/ P9 z9 d" y+ {, D8 e& }. V: `1 a
8 q9 P! f5 m4 v& y$ y
char *groupName = NULL;1 l9 @4 O7 z, o* S: h& E k
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
: n5 C9 P; S& F; \3 ^ b& Q6 L cout << " groupName: " << groupName << endl;
* |; l& o/ E) S9 e' ?1 X# n4 ^ if(groupName) MEM_free(groupName); Z( z6 u4 i1 Z. h* w: o
7 X0 }# X- S5 Y9 e% {
4 {: d: h( z' D# A* m7 u& z tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();, x3 o, s7 |% `/ i2 u
char *roleName = NULL;
5 j4 x# S7 x N; f) D1 ~) n IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
" F5 Z! C9 n& K# C2 ]4 [ cout << " roleName: " << roleName << endl;1 p) T* h! L# X" ~1 w' |: ?4 U
if(roleName) MEM_free(roleName);2 A- p+ `5 V- G' Z
& q+ C, Q) U2 a+ p logical isDba = loggedInUser->isUserSystemAdministrator();
: S7 ]( `# q2 C9 P if(isDba == TRUE) cout << " User is dba member "<< endl;! ]" m! J" P9 n
if(isDba == FALSE) cout << " User is not dba member "<< endl; 8 p- ~% K9 Q3 A z
}7 y1 s; x/ g2 B$ @5 v2 Q
% y, w* @8 e: c n+ ^. ~9 Q( i, Y
& P1 `- D+ p( [5 W5 A$ h. ~2 x+ A) t0 o. _* J0 H; u
6 o% W& S. w0 Q3 A5 p7 B4 j/ _
4 U5 X# e$ s/ y8 g) G" }
Teamcenter ITK 方式:
5 }( W' ?! _# g, m! i5 Z
# w/ S- Z# y9 ], N5 \$ [* w$ t) I( B; E& }6 i( M
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */6 C6 ^6 d3 _9 c+ ~5 ?
static void report_current_login_infomation()/ ^) `5 a- r7 V6 N
{4 i( u! F# L% r3 ]& H; R
tag_t
) B5 g7 D, [5 {* g: @& c6 |* U current_member = NULLTAG, ( G& H4 j) p' {6 n) y! |5 ]
current_user = NULLTAG, $ D' J6 l* N9 I" g* v- |
current_group = NULLTAG, 4 R/ j, q5 R4 T+ J1 y: t: ? e L' |
current_role = NULLTAG;% o5 W8 D( W4 |$ x+ y
char ! W8 ^3 K! Y4 [0 R* `- j r& E) V
person_name[SA_person_name_size_c+1] = "",
7 `4 N1 i2 z3 M) J& I user_id[SA_user_size_c+1] = "", $ ~. I( V2 y0 g5 }
group_name[SA_name_size_c+1] = "", k4 ^' C2 A2 ^ C
role_name[SA_name_size_c+1] = ""; 5 c3 g9 ^8 |+ Y5 t
, u! A" o c6 d" H& H
; Y- {3 k0 q& z2 ^7 U1 d IFERR_ABORT(SA_ask_current_groupmember(¤t_member));; y- B0 W' e: [
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));. n) U: T/ M8 q# E1 k+ a9 L0 E
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
( A( V a; V; A3 Q" F IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
/ q6 I+ V+ |3 b8 h% _
* C: i, M& l1 E# A
0 Y* z8 w w4 W0 X8 @9 b8 Y, X: ] IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" K* H& K6 s4 T* u. F& ] IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));9 I, l, l3 v9 ^) x( Q$ R+ }" i
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
" g$ A0 r$ F' ?- e IFERR_REPORT(SA_ask_role_name(current_role, role_name));
% ^: L2 }) f4 _* Y; V% m7 X' F
5 ]; w/ D; U2 w/ J3 H' T+ j2 k: u; f2 U& X8 P/ ^ a- w2 A5 F' X5 ]
ECHO("\n Person: %s\n", person_name);5 n& h6 V+ U: G: h6 T1 S; k/ _
ECHO(" User ID: %s\n", user_id);
; V0 d3 Q" Y! p3 I4 K: v1 i% @ ECHO(" Group: %s\n", group_name);
) t: c0 |6 z' ~5 J3 i* B0 N' V# P ECHO(" Role: %s\n", role_name);1 V9 A: C0 r- Z+ W& D! g
}9 I1 w, j7 _! G; M' D$ h7 g# F
5 x h2 @% w! H) K
|
|