|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
: @1 n' d/ L' N& T( X+ ]: l- M7 }# M! T* N. ?' g# m$ @2 K) q2 ~4 d% ~; A
+ Q3 e& M) i8 W% v: N" c) M! WTeamcenter c++ 方式:0 i* ]4 Z. M6 [0 m
, l$ C/ n3 R1 ~7 t# i
- o e) ~. o" d! o3 P#include <iostream>
: ^, G, K4 E8 O8 B#include <sa/group.h>/ E, N: B6 _8 P p4 V) ?( J; O
#include <sa/user.h>* n2 R. @, V. [5 t6 g" m
#include <TC/LoggedInUser.hxx>
. b9 L, V3 y, @ F4 [9 I9 G" a% t4 t- G6 w
) K5 i# [0 X7 {% b3 m
; h' N7 b) v3 e5 ^* b, E4 Musing namespace Teamcenter;
+ v0 c2 b2 F( g9 B) }- @using namespace Core;
. ?% K2 O; o f2 t$ V* Qusing namespace std;
0 e9 a" S) Y8 Q! G$ [3 R5 T& e0 B6 D# Z4 @) c
2 p, \. H$ G$ o& T" ?5 k# u {static void reportCurrentLoginInfomation()
, L1 }/ G2 [9 X{7 F* q7 x P& ?3 c6 l: a
int ifail = ITK_ok;4 {- u) J+ F& X9 a; |
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
+ Z8 \ o" S7 y6 I7 Z* Q4 l
" Q$ a- H8 N/ \! l9 Z- G tag_t currentUserTag = loggedInUser->getCurrentUserTag();
" ]5 E& K7 I3 V& W Q cout << " currentUserTag: " << currentUserTag << endl;; o5 w! F" E" [3 r8 ^6 g+ J
8 i$ _ M, w, P4 S& I char *personName = NULL;9 J p& d2 O3 J* C* c
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
' f4 n/ u' m4 z. t. N* R cout << " personName: " << personName << endl;/ P" ]+ M Y: X2 \( h7 A
if(personName) MEM_free(personName);
/ C% n f& C; n2 c3 V% U8 b; x L9 u2 I( S% r& s4 X' O9 L6 y: p; c; D
const char* userID = loggedInUser->getCurrentUserID();
2 J7 T8 j, ^5 x4 Q cout << " userID: " << userID << endl;6 L1 D* d1 T$ F/ H1 W
- Y- {- ?& ]$ z$ d
( P: O" D4 H" f8 U tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();, ]5 j; h* Z* |- q
' [$ k) e7 R0 U h
char *groupName = NULL;
# N' E* Y/ W! M4 F$ u IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));) K/ M; K* o* h2 R) M
cout << " groupName: " << groupName << endl;: a& n- Q: z+ ~+ D# @
if(groupName) MEM_free(groupName);( E0 R3 ?. f @( s9 j. h* L% Y
4 O% F2 s$ W, Z/ @* s, F8 r
7 P: N, @% M+ @0 \+ n' h) w, z tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
. I* [# H/ q- q$ n' Z% n% G char *roleName = NULL;( r) Z( K* r( i3 C' n
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));8 t* V, p7 ]8 ]* V( u
cout << " roleName: " << roleName << endl;
6 C6 B5 ?+ ?: I. Z4 q4 j3 Z8 r if(roleName) MEM_free(roleName);
% y( \$ @3 Q. b 7 D* U; V( K% \* q5 `
logical isDba = loggedInUser->isUserSystemAdministrator();
+ \ H" U W# N( [* v if(isDba == TRUE) cout << " User is dba member "<< endl;
! d1 u7 h$ ~0 m; Y6 d8 a5 D if(isDba == FALSE) cout << " User is not dba member "<< endl; ' f' D5 ~0 k5 c
}# l5 B8 \% e* g. k) P: d0 \
- x, ]( d6 @; ]% i8 A3 \- @( `0 N3 J+ g+ _( V' @
6 ?. p8 ?) _/ v2 Z! T" N
9 D. d+ R' S& G5 M4 _# {. ]! s
2 y6 G' G/ D. bTeamcenter ITK 方式:
?! @( ]: g8 x( J" ^% W4 t+ j9 J/ R3 F) t
& J0 p1 E2 @5 L [( ]/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
3 q* v! Z9 ?2 E2 l# j: e0 xstatic void report_current_login_infomation()
; M' k! n4 ]! J3 m- W5 u% K9 r) U{+ f" n. D7 L: ~0 x- s1 a" }
tag_t # V% f8 f# X4 W5 X3 J
current_member = NULLTAG,
( v% d, b9 [) G current_user = NULLTAG,
) `7 Q. f: k( n) b1 J current_group = NULLTAG, ! o' W2 y$ C7 }9 [8 E" u
current_role = NULLTAG;# O# J4 d/ l; G1 b, H; a" E' [
char 4 W% H5 I' B4 W& L4 V
person_name[SA_person_name_size_c+1] = "",2 M2 Q. r+ y2 g0 z4 o) j, X- V
user_id[SA_user_size_c+1] = "",
1 l/ U6 Z( T/ |/ T. o group_name[SA_name_size_c+1] = "",
! H* Y3 i& _+ y3 Q' @: ~$ S role_name[SA_name_size_c+1] = "";
' w2 H5 } f" O& r0 Y1 f
' n, Q2 a0 i; {4 _! i; p: R) B, [* U" I9 ~' l, x
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
) ^/ y2 b) T8 m6 O$ j2 k5 `5 ` IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
" B% Q l7 y% A/ |- y. A IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
& `( L4 O2 y9 w! P/ ^ IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));0 [+ R" Y- d+ Z: W
- x& k2 V/ ?' }+ r, w( I& K9 x: {5 l1 d! B
+ t$ r: C3 c% M" x2 o
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));, o& y0 `' f. `1 [5 |& q
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
7 Z7 h6 B8 U9 A" z+ |3 N IFERR_REPORT(SA_ask_group_name(current_group, group_name));/ V, s4 g, |9 |- R2 k
IFERR_REPORT(SA_ask_role_name(current_role, role_name));4 T) c5 }/ ], a$ d7 N/ U
, ^2 {* g8 ^$ V( P, c3 R$ L/ P6 {- C( Z
& Y S$ t% M4 ]. S ECHO("\n Person: %s\n", person_name);5 t* D! a/ D: |
ECHO(" User ID: %s\n", user_id);
& _, i5 Z4 K- ~$ W5 P9 }9 u/ O0 f ECHO(" Group: %s\n", group_name);
4 c$ [' y( d% Y6 G8 B ECHO(" Role: %s\n", role_name);. t7 E5 Z6 Q1 ^( ` x
}
5 w7 U! p. r8 g9 Q( J
% l5 @2 j4 `$ z; g9 E' c: l |
|