|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息& |. c8 v) E3 r! Z( A: c
$ i+ G2 C* m$ O. @) x# h: K# k& B% W
- D6 S0 s/ s5 D) ITeamcenter c++ 方式:
( w) x& {& x$ }4 P
- r0 b5 k8 { E/ T( X* G4 i$ |- w' M1 @ p
#include <iostream>7 h, C& G9 D7 m0 T) v
#include <sa/group.h># V2 P' }" K I9 b% G; g* H ^2 }' h
#include <sa/user.h>! y. B% e4 X: B9 @; [7 X3 Y( F
#include <TC/LoggedInUser.hxx>: ]$ f d3 `6 d [
# b& u4 D8 ^3 G+ X/ L
, Z; f, h0 e+ Q& V+ t5 N% |using namespace Teamcenter;. W" v p1 r r$ q; ? G' i5 |7 ?
using namespace Core;
# A4 _8 L3 s) f5 F Z/ qusing namespace std;; _* g& \* g' a: }; [0 Q
) R+ U2 H9 \# S3 p$ p9 q! b3 J
& I7 A0 `! x- W# W6 {
static void reportCurrentLoginInfomation()8 @. Q' S5 _/ Y
{, d+ t3 k% B( {" w/ \
int ifail = ITK_ok;
E- J) n, t: h" Y3 f& i3 e; u LoggedInUser* loggedInUser = LoggedInUser::getInstance();5 X0 e2 H4 _: o
8 @) a! {1 i* W: c% u" @, q tag_t currentUserTag = loggedInUser->getCurrentUserTag();- u4 u- c$ f# }
cout << " currentUserTag: " << currentUserTag << endl;3 Q2 n7 ?- X% e/ ^5 e
: d3 b$ W% m$ b0 O) `6 \ char *personName = NULL;( ]$ L' f: h" O3 A# C: y
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));2 [3 a* _) O4 M W$ Y/ ?
cout << " personName: " << personName << endl;
$ G' w2 ]0 R. `+ z# A0 ] if(personName) MEM_free(personName);& P4 T R/ s9 j5 _
; ]% L7 ?9 I. a% ]9 B const char* userID = loggedInUser->getCurrentUserID();' g! |" B) C$ f, ^& N- G
cout << " userID: " << userID << endl;
! v. m" E, N: M0 |5 b
' K) |' p. H: j, ~: ~" S% W" l: A1 b0 P% ~0 S5 |: e
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* l' m$ c' w. {& U) S! ?) _
) t: L0 Y! d! m1 Q$ V char *groupName = NULL;% r5 D( A0 Y! R( ?4 G
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
8 z: A2 T+ j3 H9 w cout << " groupName: " << groupName << endl;% X V9 q& I# v* ]' ^# \7 o& x
if(groupName) MEM_free(groupName);
- T5 L5 ~! W6 s4 l! F: _9 M- p
B Q. Q2 Y( `* }' _- o
$ o% S r. C$ o+ w' V. l tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();1 p; Q6 R. L5 s: T, L( e. w% }0 ]
char *roleName = NULL;
6 D4 D5 a5 {) G4 } IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));! E5 h% w4 n# ?- _, c. a
cout << " roleName: " << roleName << endl;% F) e/ z& p/ ^/ v$ K0 c. {
if(roleName) MEM_free(roleName);
9 c9 b# G& C6 d$ Z
6 r3 j: q, g; l N logical isDba = loggedInUser->isUserSystemAdministrator();
! r4 w! k( ?6 K if(isDba == TRUE) cout << " User is dba member "<< endl;
: z( u2 S# \- m if(isDba == FALSE) cout << " User is not dba member "<< endl;
6 Z8 E; m: ^: Z9 {6 y1 o! {+ `. i}4 n! O6 D! Q6 T% v9 O4 w: p, p
: q! g1 R1 Z R
; R8 L+ N: C9 g' l" P4 ]# J% \+ t) E& f; n
5 E8 M$ d- m: h* a- u# a0 B/ R
: c* b8 {2 F O; VTeamcenter ITK 方式:; }+ R( n3 @* D: l$ F
8 K: `9 c# `; Q; L
6 v5 `" J2 [+ m, e" G/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
6 Q( h* \' v2 C" M6 }9 Tstatic void report_current_login_infomation()- n K6 A/ y" f; m- F, W F
{4 Z( f) a3 o2 N1 |6 ]
tag_t 6 f, g+ l- q$ z( W b
current_member = NULLTAG,
d, q! H& p, T: d% i P current_user = NULLTAG, ( C" f" `" M3 T! B
current_group = NULLTAG,
9 W0 W$ \- m: \% ~ T+ T' f current_role = NULLTAG;
7 G( y5 Q6 O2 D! k+ X3 y; x* y char 4 f0 M B7 d4 z$ o
person_name[SA_person_name_size_c+1] = "",
9 ]8 z F1 \' A3 y8 M/ g! r user_id[SA_user_size_c+1] = "",
- ]6 m o G3 n. p* s: H group_name[SA_name_size_c+1] = "",+ A4 n) g0 T! P% e, G( N
role_name[SA_name_size_c+1] = ""; 6 d. ]9 `% O' m- o
3 G5 R' {4 N* s$ y2 A7 {; ?1 b3 T8 q! X! R9 V" G, W. P+ c3 h4 E/ `
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));/ a3 V2 B/ X4 C
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
% T) G1 \0 ?7 x IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
* x, w0 p# _: r, m0 U* T# Y, T IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
+ |" z; x, V% Z0 C% a1 C
; R) f5 X4 d. m- k: j
# r# r1 P- B9 R$ L9 f$ v IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
* h) t' M- g2 W; z# w% q IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
- h, c% a3 l# u9 o9 ^ IFERR_REPORT(SA_ask_group_name(current_group, group_name));) o' q* ]) g9 E
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
: w0 ^" P# S5 c7 K+ F/ ]) l1 X% Z7 F( E8 {" H% U
, n( S( a) X$ p' q& J( i1 I
ECHO("\n Person: %s\n", person_name);
# R& w! o* \' \& [6 m* _ ECHO(" User ID: %s\n", user_id);# }# \$ G9 l: p; j0 L2 k: K
ECHO(" Group: %s\n", group_name);: R: n" t5 X+ T: [2 q0 r; P S# c
ECHO(" Role: %s\n", role_name);# t; f' z9 f$ ~6 e/ T. S3 ~4 {
}
v# T! o, |! }: n
. F8 G$ P+ f) g } |
|