|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
S' f( D0 T+ C
* b5 p( I( M. ?. A4 ^* ^5 }! K2 R9 R- l. y( [
Teamcenter c++ 方式:2 r" o1 \, t( R; P- H' @( k* Q
! H) ?, v8 }- }9 b, B0 Z1 G% i! p& B6 k% U+ w3 N
#include <iostream>
3 i+ ^9 e& A. x#include <sa/group.h>% k, t5 ?' {4 c6 u& P
#include <sa/user.h>) `0 y6 h: U7 `
#include <TC/LoggedInUser.hxx>: @' t( a- l) a4 q% L/ }1 l5 c' |2 Q
, q3 A4 b+ u1 B V& Y& i; Q& g. Q" e2 t
using namespace Teamcenter;
+ j4 X0 @, o; Tusing namespace Core;
) x+ W6 L& m+ Z9 susing namespace std;
. w0 o1 W7 E! m3 b+ c% @% f: l6 L+ l& V) k( \
" j, ~1 w w5 g5 z k8 F2 Jstatic void reportCurrentLoginInfomation()
4 u$ e# }; ~" }" A3 x' |{- N7 _: t# z# [! Z0 |
int ifail = ITK_ok;# N ~$ `# q! B) O, D1 S% {/ L
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
0 P7 S3 x: |3 s, [0 f$ E
3 h$ Z+ z: ^$ l @ tag_t currentUserTag = loggedInUser->getCurrentUserTag();
( m; L# f# @8 J" a6 b: H l E cout << " currentUserTag: " << currentUserTag << endl;, L0 M5 P* F0 T+ w
% V: r) r6 r2 P char *personName = NULL;1 O6 C8 F% ~) O& o5 t; j% U
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
/ z6 s. b. X, M8 e$ W4 S- R cout << " personName: " << personName << endl;
. Q6 u, y1 q3 c7 |; p if(personName) MEM_free(personName);( n# W. f: H/ g
" o% J8 ?/ Q" f& P( U const char* userID = loggedInUser->getCurrentUserID();
% ?7 b6 j5 N; w' T cout << " userID: " << userID << endl;( W% I% `% }6 W- D# Q
) t( A& V# U0 }% g
, Y5 V! n9 a9 i( J tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();9 f( U. } o# z# w0 w/ Z
9 I6 w! J, Q7 D6 [+ I8 ], B
char *groupName = NULL; M. f9 W. N/ u1 I
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
* H' p J( Y E8 {, i1 ]% U2 K cout << " groupName: " << groupName << endl;
L w. i8 l7 x! I9 o3 J: F if(groupName) MEM_free(groupName);
3 X' f0 O2 ~. N8 |1 g) q5 j( ^4 f9 p; i2 g+ c
' L& A# G6 b- V/ [
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
& V' x9 V" ~ }$ r char *roleName = NULL;
. t9 o7 n4 I# B# G: ? IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));% u# {. ~* i9 f
cout << " roleName: " << roleName << endl;; o1 a4 n5 x+ N4 R+ w
if(roleName) MEM_free(roleName);& J5 c5 z) K' y
' J; i5 {+ I' ~6 H# m4 s# e
logical isDba = loggedInUser->isUserSystemAdministrator();& v% J5 r \. J; G* _! \. o+ Z3 z
if(isDba == TRUE) cout << " User is dba member "<< endl;
3 Y) J8 z7 j$ }+ B if(isDba == FALSE) cout << " User is not dba member "<< endl; j, ]$ p- j5 v" ]1 g7 `8 ~
}
# H! s) p- G2 H4 O
/ U \" S1 A$ v) D& T7 C; W; B! t: E, m5 y, Z
9 Z8 r0 J q) r/ k
/ L4 O( ~% w* I- e
# B4 a3 L1 |0 A# y% K6 F$ NTeamcenter ITK 方式: S; ~! o7 l& V: m, D
0 @" k, q: }8 c( V: a+ i; J7 J- ]9 y9 Z
6 g8 d5 `) u9 G d* }' r
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
8 m: N3 C6 ~- {static void report_current_login_infomation()
3 D \1 d$ ^& s" T{/ w) q! g; e. j$ o9 y+ h
tag_t / T5 H9 X$ I+ Y# M3 D% f
current_member = NULLTAG, ! L+ Z8 Q. D6 i) X, w( U
current_user = NULLTAG, ; x+ Q# Y/ u% B0 W/ ?9 w$ D, }+ u
current_group = NULLTAG, ; U" d" M5 q4 v x/ [) b- j F* F# U
current_role = NULLTAG;. j' c1 t, F9 a( }6 b9 o: m$ k
char
3 s, _4 B! Y4 a5 d3 d: g* F person_name[SA_person_name_size_c+1] = "",
6 j4 |* x) R" r0 {5 s user_id[SA_user_size_c+1] = "", 3 H0 x/ }4 Q, [. S3 @" i1 V# ]
group_name[SA_name_size_c+1] = "",
, n; _3 m+ Y* J6 B, o; H- G5 ~ role_name[SA_name_size_c+1] = "";
3 X6 x, {. @7 y1 W) s& k! A, X$ B5 N. `" r1 L; B
! s9 M+ ?+ |! a3 y0 d IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
2 r" ~3 t7 N- f& _" C" M7 p# ?9 s IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));9 d& v% X, _! x
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));- F% h O2 {/ ^, i6 \8 V
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));0 A- t) \4 W; n/ I* w2 ?
: U8 m+ x: m. f; X+ Q
" V+ x; R0 k' o9 [2 A
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));; J7 k6 B& s4 I3 t
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));+ m1 `3 ^8 X" ^9 U
IFERR_REPORT(SA_ask_group_name(current_group, group_name));! F* Z; Y, Y9 V( m% @% U0 o/ |$ m
IFERR_REPORT(SA_ask_role_name(current_role, role_name)); ^9 W3 C9 C+ C$ f
! ?9 ?( T) p0 ^% `
3 o2 S+ g* @8 z ECHO("\n Person: %s\n", person_name);
$ b7 o# `7 n6 v6 P4 m ECHO(" User ID: %s\n", user_id);/ r) d& E5 n1 n S) t2 i
ECHO(" Group: %s\n", group_name);
" z. C2 D/ j' i; e ECHO(" Role: %s\n", role_name);# g9 O$ Q( }( j7 I
}7 Z% Q+ L5 K# E3 |, W( L) h* Q% V, `
/ X$ n, M: O! L6 B( H
|
|