|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息2 w( J% I, @# o" v4 M* u
$ d( C/ l2 T5 s: s- G( z: ^" ?
% n5 j/ z q) d' d8 g* g5 h$ g* g
Teamcenter c++ 方式:8 }% ]0 e8 H. B% e
& C) w2 J$ }. d8 K* z# y5 T l
d8 S" F/ E* x5 H F#include <iostream>
$ C; V8 S2 |, ?8 P. H#include <sa/group.h>
, Z: C- X4 K& n- B/ z" R0 k9 y) m8 a#include <sa/user.h>
% |) R' s H9 o% _/ y. i#include <TC/LoggedInUser.hxx>
6 F/ z. ]% r; U6 X5 M, }; h/ x3 O
& O2 p, I5 b. ]* j) q
using namespace Teamcenter;
% P/ g/ l3 o2 n6 J1 susing namespace Core;; K2 j9 q. U3 m) s" e$ u# N
using namespace std;
) O% C c! T& H" {2 x$ T9 g2 w J5 M9 O* G/ e" N
5 P$ M& R" T4 {! r7 O( _& Ustatic void reportCurrentLoginInfomation()* G5 h u1 [' s( _8 R% V: T
{. ^/ X3 G$ }7 U% s, d; c' [) |
int ifail = ITK_ok;. w1 U U% Q8 S! f0 E
LoggedInUser* loggedInUser = LoggedInUser::getInstance();3 F% F- m' Y- K
) V; l ?) k5 q1 \; i" x# B; `5 j
tag_t currentUserTag = loggedInUser->getCurrentUserTag();; x: R3 o9 i6 u0 t% a' v @
cout << " currentUserTag: " << currentUserTag << endl;3 L) F/ e! V6 ]; y3 Y( z, \- a
. G J9 M( s* Y) P
char *personName = NULL; }$ i7 @2 N0 E
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));7 g0 |( H9 F3 o* f
cout << " personName: " << personName << endl;
; Z) _% l9 p) a* e if(personName) MEM_free(personName);# K' O2 ~/ Z' P+ Q& v- W
" c7 r/ C; j! b! ]6 } const char* userID = loggedInUser->getCurrentUserID();, z7 w2 u% \% u4 \& w6 r; D) B
cout << " userID: " << userID << endl;
% {" Z# \( Y% \! f' t5 j
7 M' Y. l; H) q) e, O, [+ l& B. M4 P$ q
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
+ q& r. R; H8 M0 a 9 n. M! z& }/ s
char *groupName = NULL;
- v6 |, r R. c+ E' l$ A IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
% R6 P0 M9 d( o0 W' Z# e1 x1 W1 } cout << " groupName: " << groupName << endl;
1 A1 I6 O0 s) X if(groupName) MEM_free(groupName);7 D) t8 |7 i* {3 L4 e
& W& Q3 T7 h; u
- W F& `) c+ t2 R7 m+ h; `
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag(); E0 M- Y& v- ] K F8 I
char *roleName = NULL;. @5 W9 C7 O4 ]8 |
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
: k7 J& n+ p4 N: I1 ~& h8 \ cout << " roleName: " << roleName << endl;
6 r9 g2 \& }% B. a' A) u# `/ L( T if(roleName) MEM_free(roleName);+ w2 v/ m( ?( ]3 D2 G
# M& q* `" Q! K+ `9 O) g$ n
logical isDba = loggedInUser->isUserSystemAdministrator();
6 b+ a- D" s6 X& [4 G/ q if(isDba == TRUE) cout << " User is dba member "<< endl;0 T& k. l, O0 ]; \' m3 N, o( c
if(isDba == FALSE) cout << " User is not dba member "<< endl;
: f4 }# Y) z( b5 K1 y}" M" G5 ]. E/ \7 R4 v$ N
% V8 p3 P3 U, Q
+ \1 p- Q, P4 a$ M. C
4 a4 x- j, d5 g: K( W% R5 ^/ i0 Q
& r: \3 @ w7 D7 P% N
+ k5 X% i& S5 XTeamcenter ITK 方式:% f4 N: L U0 X" A0 z
3 s: C& a7 s$ ]
& y& ~8 Y0 i# E" \& M0 O/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */* O, _& t: B9 r' W1 g% D6 D
static void report_current_login_infomation()2 J( [/ F6 D3 U, h) I. X
{" x; [1 e% O) ~2 L
tag_t
) U/ `3 T8 J+ F! \( y& s current_member = NULLTAG,
3 t* z' u( a8 Z3 J( ? current_user = NULLTAG,
8 s# b( [( T" o+ H4 h7 o0 h$ L current_group = NULLTAG, - [0 Q7 A! V2 ^; U ]
current_role = NULLTAG;" N8 k$ @2 |6 S. t: g
char
6 V+ h2 g2 E" E& [ person_name[SA_person_name_size_c+1] = "",) P$ y- F) {, q
user_id[SA_user_size_c+1] = "",
. R1 ^2 s& ?. y) D group_name[SA_name_size_c+1] = "",: R* o7 F1 h) I; s
role_name[SA_name_size_c+1] = "";
5 U+ N% q5 s9 o, x* U. k: J( C$ y( L/ v' Q
% v5 n! Q' D8 |/ W$ M
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
! C7 m; T/ m: `. {1 { IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
( z2 {) F ?7 D9 T2 |9 U) i. X IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
5 ]# q2 ~+ g- s" ? IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));- J4 ?1 E! l& P& p: u1 }( m" n
Q) s9 H1 u+ T9 H: Z9 w6 ^
( {) ]: T5 m% c( G0 [) I! C% _( \/ x4 @
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));( Z; [/ j$ P# Y8 s8 }* p
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));4 o6 p: ]& [: w# ?
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
: D! X4 K/ ]2 q: e IFERR_REPORT(SA_ask_role_name(current_role, role_name));
' q7 T9 u7 }" U& k- p; h
" x4 b4 ]) q Q6 y; |& W; h+ \! v! {8 j9 t+ c( T" M+ j6 z
ECHO("\n Person: %s\n", person_name);( C4 D$ Y7 a9 v1 i: q
ECHO(" User ID: %s\n", user_id);) p0 r6 X' l; ^" ~* }+ F+ k
ECHO(" Group: %s\n", group_name);
0 c% Q$ E" C9 ~, }8 _ ECHO(" Role: %s\n", role_name);+ P) D" k: z/ Y
}3 c _* o0 k7 B1 o7 Q/ C
$ g2 T" A5 S M7 ^3 u, I3 ?
|
|