|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息& s7 \3 m' t1 B. @1 Y
; c+ S( L' t0 e o4 t! ?6 m
8 T: T) t# z* a3 ^Teamcenter c++ 方式:" P, t c+ d* T. m
# ]3 u3 s# b, J- S, x
3 u1 \% ~; Q5 p6 D/ N( G#include <iostream>' M/ u" v+ | F# E8 {5 k0 y! |0 g
#include <sa/group.h>
. `1 D) R" d' L# I6 K2 G1 q5 L#include <sa/user.h>
! d7 i u9 Y% \: @4 @4 O G2 O. t#include <TC/LoggedInUser.hxx>
! p1 W! _. l Z' Q4 d3 y9 R
@2 K1 L# \& x$ A1 ]3 S, ^# }. v7 m; O4 @, |$ L2 H
using namespace Teamcenter;: h- N" M8 S; w' h; b- J4 H$ E
using namespace Core;. s' Y' x- Y* ?- r) z2 C
using namespace std;' G% F$ Q, P2 E( E
% N: N0 g2 d* O6 C
" M1 \" C& F8 G5 `; K M8 ~6 zstatic void reportCurrentLoginInfomation()! B# `- u& W! W: X5 B
{
4 ?8 T8 z; n/ a) ?" l- { int ifail = ITK_ok;
9 Z/ e2 k. u+ W; P( U! d& ^ LoggedInUser* loggedInUser = LoggedInUser::getInstance();
- S/ R; h- P" F 6 E; b+ C- y. d3 K% d+ Q( J
tag_t currentUserTag = loggedInUser->getCurrentUserTag();( ]8 ? M+ C8 C5 K" O( i
cout << " currentUserTag: " << currentUserTag << endl;
2 J6 I8 R. Q* b. h: z ! ~* j' m; L+ ~2 E! F
char *personName = NULL;9 m2 f. N3 l- e' f$ A" G
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));( r1 \# u/ k, N- b+ y1 e2 H
cout << " personName: " << personName << endl;7 | {9 R5 m3 k6 {4 Y T$ V
if(personName) MEM_free(personName);
$ y9 p! N0 R( P3 @, l9 B- w. l ) t r) w* c' f& V0 R* H2 W
const char* userID = loggedInUser->getCurrentUserID();
' V9 Z0 W0 Q( M2 ` cout << " userID: " << userID << endl;, {3 Z; X% x c7 e; m# p0 ?# o
I1 I q8 g: L/ H$ a1 Z
7 e) V# }3 y% r* r2 U. V, c6 i tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();2 p) @0 z$ \ c; H/ F2 L: N/ V
2 y1 o5 z; B( `& ^1 c
char *groupName = NULL; ]3 ~2 @ K4 o7 ]: h
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));' r: d* o$ b# F) N) P' T
cout << " groupName: " << groupName << endl;. a; |9 t; ~9 ?- G
if(groupName) MEM_free(groupName);
3 F1 d7 E: E4 u3 T
$ ?. m0 h+ z2 L3 L7 P2 v5 o2 ^% }
5 ?; B1 C S | tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ ?4 V8 F) f ^ char *roleName = NULL;
! v6 a0 u# ~: B" r' c IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
( @( H0 N, k. ?5 u) j5 x cout << " roleName: " << roleName << endl;
9 D) ^1 x* R$ Z7 U6 Z if(roleName) MEM_free(roleName);
( J7 V* c' G# b/ _0 r+ R
3 o5 k8 X9 o$ a- F y0 O& j! O6 N logical isDba = loggedInUser->isUserSystemAdministrator();
7 v( L( M( C$ j$ n if(isDba == TRUE) cout << " User is dba member "<< endl;# _ G0 y! ^6 `2 g" ?; N4 c' ~, E
if(isDba == FALSE) cout << " User is not dba member "<< endl; " z# k x/ R0 i5 z7 a0 j# ?) B
}
( [- V5 s1 Z, T2 D/ [ z
$ `7 \7 x* E, ]; ~
/ Y" d4 l5 D. V5 @# W' a' A5 N$ u) @6 p, X$ l, W
4 G$ H( W) L3 u* g1 H( F, x0 n* Z; ]9 C5 Z% y6 _% E
Teamcenter ITK 方式:( w( r6 F ]/ G
% L/ ?- U4 y. G2 p
' Q9 ]( D& C1 W/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */* J1 O' I4 ?; m+ v, X
static void report_current_login_infomation()
% o& q# N) c* p{
6 z0 U: ~. O7 C y tag_t
, b* F: _' o% d3 S current_member = NULLTAG, 0 Z, H* d( Y( q) r8 \: X) t8 t
current_user = NULLTAG, 1 [2 y3 Z: d! j, @ y% C6 K
current_group = NULLTAG,
3 a7 V) D# F6 ?6 n current_role = NULLTAG;) H- n: L; `% h/ D
char 0 o4 ~5 A' @5 L ]( M
person_name[SA_person_name_size_c+1] = "",, r) d$ v1 A$ Q/ ?5 n! ?
user_id[SA_user_size_c+1] = "",
6 V- U" p( D1 b: `: d group_name[SA_name_size_c+1] = "",+ c7 ~2 e& Y( m! H
role_name[SA_name_size_c+1] = ""; / l" ^3 c1 b0 c* m% B& v3 ?' q
+ f: V! G5 t, |7 S* D/ n! R; a0 w. J) J* g3 `: @
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
; g3 `1 ~6 h2 X' U# ] IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
- D' U3 m# s) z" } IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
+ d! U. D4 s& F! w# B0 G+ @. E1 V y s IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));9 m+ R' o6 y' d" O# _3 ^
: Y% @( p) s2 f+ F' u) e4 Y% D
# n3 K. t8 z9 `
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));+ V% _% n* o+ R; ~) C
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
$ j( Y* y6 U$ M5 N IFERR_REPORT(SA_ask_group_name(current_group, group_name));
! d/ `' X" I1 N3 Q: W! C2 E IFERR_REPORT(SA_ask_role_name(current_role, role_name));
/ P1 c7 [3 I' x+ L5 Q! ^6 U( j
, _0 O3 m6 F- ]5 j! l
' I. q2 X- [* N9 y6 Y8 r ECHO("\n Person: %s\n", person_name);0 }! g, }5 q1 c% d$ Z
ECHO(" User ID: %s\n", user_id);' S7 t& A. O9 W1 u/ J
ECHO(" Group: %s\n", group_name);
) W( {) \ E+ V ECHO(" Role: %s\n", role_name);
* ^4 Z2 Q, X5 g i}
. l2 \! K. o9 ^/ ~% \. i, c% J& Y% ~0 [& h$ d8 F9 N4 Z/ a3 B
|
|