|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息( c; L- Z& Z6 n, X
" K. i4 Z# Q$ M
) I3 ?, i; g" i" l1 t+ oTeamcenter c++ 方式:- U4 j4 s, W u1 z6 g- M
8 d) T9 Y( p# b$ _
8 {+ X' S7 {( y
#include <iostream>
+ A+ r# g9 G$ {* A* W3 ]#include <sa/group.h>
5 O* R1 C! ?, h' p: ?, ]1 J#include <sa/user.h>
2 n# D) B. V; Z6 s0 f) }- h#include <TC/LoggedInUser.hxx>
+ g1 `0 A1 [6 i: [; W
8 i, y4 F% R/ l3 Z
I1 S) c; X9 p% K( W7 b% gusing namespace Teamcenter;
7 `4 z+ q% W/ L3 s( N$ h9 Ousing namespace Core;
2 @, q, f N- a$ y& c# \9 t$ Kusing namespace std;
+ [3 {% L) S' ^+ B& d2 S: n
. E5 j: N, D6 P! C! C$ k
6 B4 k, P+ |( ]8 i3 \6 astatic void reportCurrentLoginInfomation()7 N4 F' s$ W2 Q; T1 Z0 ]+ Y
{3 U. b' Z+ B( L4 Q+ m8 t" u* O" ~
int ifail = ITK_ok;
: d: ^* {* E! j LoggedInUser* loggedInUser = LoggedInUser::getInstance();
3 n( s7 w# h/ T- N3 X/ A " o5 w+ }+ \; ^' R% ^
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 G5 q- j' b7 M) o% Q& W Q2 ^ cout << " currentUserTag: " << currentUserTag << endl;: e# o2 q0 s3 ~/ N: r
. {* x, }$ Q& g) n& B; {5 M
char *personName = NULL;' B& ~! t* \7 w" ?: }+ e
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));6 d( L/ C# n. |" B& f
cout << " personName: " << personName << endl;
% l) ^0 e/ e, [9 `# T* E if(personName) MEM_free(personName);
9 q- N$ Q& @: H) u" B+ g 6 g+ V2 H/ A a6 L$ \7 X) w
const char* userID = loggedInUser->getCurrentUserID();
& d$ U" @- m! k* e3 c( {9 O: C cout << " userID: " << userID << endl;
$ D# w/ y7 E! o6 t( m- C9 L, T' r! H$ H- a4 g2 c
8 I$ L4 Y& c; i+ X) N9 [' x
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
" L5 ]& T% [9 \. {3 c. D' R7 M ! d0 _1 Y! {- N
char *groupName = NULL;
% u# q S' k& M% T) B @ IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));/ A. T0 Y/ ?3 ?/ d
cout << " groupName: " << groupName << endl;; A8 L3 U: N I4 p
if(groupName) MEM_free(groupName);
/ b& ]1 D, j2 A9 J( Z% C. C
/ e5 K3 ?7 `- u5 l' K# J3 |8 A- H) Z+ E. D* w$ {4 @+ [
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();) E' C4 B+ p$ n6 O) S/ Y
char *roleName = NULL;
& j# H4 l: C8 a U# P, z9 w- J. u2 E0 e IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
1 V9 S8 Q+ f7 o1 r4 z0 b cout << " roleName: " << roleName << endl;/ V" Q8 I+ q9 Q7 j+ j. F
if(roleName) MEM_free(roleName);
/ h H) t# l1 d0 j+ r6 P/ v1 u
" i, G/ d& q0 G4 h) x logical isDba = loggedInUser->isUserSystemAdministrator(); ?# o# J1 q9 m) C% r' o+ {
if(isDba == TRUE) cout << " User is dba member "<< endl;
8 D e. Q1 A3 j' Y( t$ q if(isDba == FALSE) cout << " User is not dba member "<< endl; 8 ?! S3 f! g* M/ Z( I( b; Y
}' S1 ^3 q" R6 D# I- ~0 M
/ K. S t8 D7 O' P: c4 b$ m, V7 W. l& _, c$ o
0 z$ {: i3 d' b4 }6 N
7 y8 F3 Z3 g! [ J, t( v S2 U5 z+ ]9 m$ {- C: z# ?
Teamcenter ITK 方式:
) r' r; ?0 F2 r, b3 D- C* T1 z& {) p# X/ ^
# C( q8 u8 A' I! D9 e, {/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */( |7 Z) q1 e: z
static void report_current_login_infomation()/ {/ H5 T6 B& z y
{" u1 N. _; x" F! U+ v
tag_t
! ^4 `8 ] g2 J' A- T! D; k' o current_member = NULLTAG,
' i5 C: W: C! s1 Z current_user = NULLTAG,
) d4 ~7 X, J- P7 q# h* |5 H current_group = NULLTAG, / u- }" V e0 R& N8 V3 V5 {, o
current_role = NULLTAG;
7 z5 J4 |# Q& q; @# Z' a: J char
- N3 D, F9 o; c) q5 \. ` person_name[SA_person_name_size_c+1] = "",
# ^% P$ j3 n- u: c0 d4 |: U user_id[SA_user_size_c+1] = "",
4 w! P y5 r: Q group_name[SA_name_size_c+1] = "",% s: r# t: l2 [- o. @: i
role_name[SA_name_size_c+1] = ""; $ v$ `# [0 H; P
' G" l5 U @4 y% W4 _& {, d) `' d! a
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));+ ^6 _9 [1 W3 k0 X
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));3 f0 P' ?: ~( V! A* M1 `, j: D
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
0 K5 v4 _+ b& s1 s% ` IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
1 P/ m6 l( q1 P* J
; M8 e/ C: h& U& ]' n/ t0 O8 W' h( ^; g- V- U8 H+ n% x V
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
5 |, `* C; b- X/ Q0 w; r7 z5 s IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
" ] _& @3 m6 \$ i: @2 ^; t IFERR_REPORT(SA_ask_group_name(current_group, group_name));
5 Z: Q9 Y+ v ]3 i% Z IFERR_REPORT(SA_ask_role_name(current_role, role_name));" T: `" G2 @4 a
, e* `# A2 ]+ p; a4 K% e T
. O, s! ~+ k( \" N5 m2 B- t ECHO("\n Person: %s\n", person_name);) z4 K+ Y% u2 u2 d! P5 R" _
ECHO(" User ID: %s\n", user_id);
4 A; u8 ]. P: _. B" | ECHO(" Group: %s\n", group_name);
. e5 c2 O7 u# H3 C. K% e ECHO(" Role: %s\n", role_name);; r V M) Q& B9 w2 T0 U' L7 D
}: ]; A* [: \7 u
4 u3 q7 U1 G# k6 e2 s |
|