|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
4 j9 m- n* M2 r' M$ ^' V2 x% u) [2 X/ N- ?/ I9 v) g
& O* {7 H! h" z4 q
Teamcenter c++ 方式:& n2 f0 y2 p% U, b, g5 S: S* a
2 ^ j3 {9 i. ?4 [6 I; j: X/ ]
3 O5 |1 p: j6 _' ^$ b#include <iostream>) o5 x* s/ Y& D/ z
#include <sa/group.h>
9 J6 J% S% Z9 Y3 p#include <sa/user.h>
1 y- s8 ^0 e% Z4 }7 l, N9 F2 |#include <TC/LoggedInUser.hxx>0 g1 f g! U% p" ?- k* ]. V# I
$ F1 z! L* V( b& E+ d4 Z! m: Q0 z @5 Y; L4 @
using namespace Teamcenter;
* Z8 f# p8 T/ d8 D1 Qusing namespace Core;! e( U7 E! a' ~+ F$ C
using namespace std;
5 h/ {* L$ G- w' i+ }$ o3 H6 o' u# _. L0 {2 K7 O# Z0 {. z
6 R8 e& f4 f) s4 P- W
static void reportCurrentLoginInfomation(). d" U/ @: {- R
{% J* x' l. r$ N' M, d
int ifail = ITK_ok;) b, H8 [2 [' j7 {$ K5 X; I2 l* N) V
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
5 r* {0 U& u. [% M! E
j) S, F1 m& K6 W3 ^ tag_t currentUserTag = loggedInUser->getCurrentUserTag();
8 @1 |4 P f- O& e cout << " currentUserTag: " << currentUserTag << endl;
( K6 p3 }+ j; L 3 o: d m% S5 J( u+ t! ?
char *personName = NULL;/ e! q6 o9 d" e7 S, [ G
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( n% W) h! T8 T% a7 z+ Y* ~/ J. U cout << " personName: " << personName << endl;; {; L( Q& s* B& J8 q
if(personName) MEM_free(personName);
: T7 o* Q6 ~2 J: P1 a, f' _ " y) |6 t4 _' @5 j0 u) @/ K
const char* userID = loggedInUser->getCurrentUserID();' G& F+ P3 x8 m, A+ A
cout << " userID: " << userID << endl;
( P( e& z5 C6 t, U$ c
4 c ?, M n9 ^3 v
: k% R, G! A5 c& ~0 {5 N7 m, A tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* }+ M5 f; G* @7 h ) \/ o% B- p0 b
char *groupName = NULL;* m. ?/ F# S4 }! \9 _6 r
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));* E5 x" Q/ {6 q% ?7 y3 s2 }5 ~* s) T
cout << " groupName: " << groupName << endl;
+ A8 s0 X3 M: Z/ `2 _; } if(groupName) MEM_free(groupName);4 P- o6 S5 F# F
2 J( `' z* o" D4 t! ^0 v9 ~
8 }# ] e: a8 \' F tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();$ d* e* S* q _) Z% N3 M" o- X
char *roleName = NULL;
* F5 q/ l0 B/ P# e6 f IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));' J J7 B: o6 D
cout << " roleName: " << roleName << endl;+ c1 z* M+ e7 V/ i
if(roleName) MEM_free(roleName); u9 p6 D( V0 S, j' [% ^4 x
6 ?# S" A. S( Y( N
logical isDba = loggedInUser->isUserSystemAdministrator();
1 i' \/ c- K3 Q5 y7 F if(isDba == TRUE) cout << " User is dba member "<< endl;
5 a: y+ W( ?' M0 x: \# j if(isDba == FALSE) cout << " User is not dba member "<< endl; # D; O3 J0 C6 X, w3 R7 z* u* f, Q
}
1 b4 m: E, R# Z# `5 c$ E- Q% s, Q! ]; m. M) U: @5 }
9 K8 Z# @' f- e. V! Y
% K5 l o) X4 W7 r7 y2 F& T }. [- m; j! M
2 v- N/ i% T4 V' ^
Teamcenter ITK 方式:
% j; F( Z1 f1 r; v0 \; k x" [1 }/ R: r9 O. Y$ t/ _* m& }( R
# _0 B% P# U4 f5 S& P
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
4 v6 R6 O' t/ f Nstatic void report_current_login_infomation()8 r5 `; F$ g2 X1 b
{
# \* v. H Y1 E tag_t
$ G6 s( `& i2 x0 l+ |/ T6 F! j1 W current_member = NULLTAG,
) n( Q* t! j1 W0 N' ^9 b: @5 O current_user = NULLTAG,
' B4 f8 @' _/ U current_group = NULLTAG, + L; Z! q* s5 h% H) _- t
current_role = NULLTAG;5 T- U# T b0 x6 o
char 7 H0 _+ r% A; k3 ^( ^! \2 R) I; I
person_name[SA_person_name_size_c+1] = "",/ {. G2 d9 O+ O2 |+ C2 Y& L; P
user_id[SA_user_size_c+1] = "",
7 H9 [# l' u6 I6 I* D group_name[SA_name_size_c+1] = "",, _( _2 x- w$ U/ f
role_name[SA_name_size_c+1] = "";
+ v2 f+ V& Q- H% p
3 ]4 e( s' _- W+ Y% ~7 t w g, u% j
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
/ @) S4 H5 T2 X6 D IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));1 @* v5 @4 B2 ?/ n/ h( {+ _6 y
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
1 h7 V0 I2 Y6 T IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
$ c5 y4 f" n! c1 C* n m( k7 u- h. x2 a- a
) p5 x# {/ E) X. l9 r* M IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));: o, ^3 b5 x5 u1 n* L
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
( Y% v1 O- Q4 T" _6 x0 G IFERR_REPORT(SA_ask_group_name(current_group, group_name));( l+ ]* X' M3 ^! T* T b* l
IFERR_REPORT(SA_ask_role_name(current_role, role_name));7 ~/ |& d7 C- y1 Q7 q- i" h" b
" _8 q; Z2 r% H- v1 E
# V/ @% X$ z+ B) Q* U6 x% Q6 _ ECHO("\n Person: %s\n", person_name);6 W3 {7 J8 T1 [# p! ^1 P
ECHO(" User ID: %s\n", user_id);& G- w- ~+ q5 Z0 W, V/ J
ECHO(" Group: %s\n", group_name);: R1 X3 k7 a+ l
ECHO(" Role: %s\n", role_name);) z" E. d% a6 _: v- z
}
" r8 @1 F i8 N E( N& @) L0 A9 }
|
|