|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息8 S6 @6 N1 H3 h& a5 X7 v
' G) o) V4 v; e4 U5 T1 g
; ]6 n x4 v. r0 G" I( f1 B
Teamcenter c++ 方式:3 I$ P3 Z7 N: z% p, x" h! a& a1 h1 Y$ |
7 p' F3 H, t, {6 c9 c C$ @' V8 Z! ?
7 f. T3 s% R/ O" i7 A#include <iostream>
% W+ {9 A$ a7 @" c# {#include <sa/group.h>
, o' N) s) [& W' |; j#include <sa/user.h>6 ^" R' D( ?3 T
#include <TC/LoggedInUser.hxx>
2 k; U: ?( C" ]. R, j* i2 p. H5 Y! C% i* {5 L; d
, u; ?6 {. w3 R% yusing namespace Teamcenter;
: U( Z9 _2 u3 w4 Fusing namespace Core;
8 A# I* |) J- A8 Wusing namespace std;
, U3 Q$ S. \& E/ ~5 G b
* i: E) B, A% i0 H y: d& I Q
static void reportCurrentLoginInfomation()) [+ l. L2 T; u& N3 e' L& ~1 d! s
{. a0 K C& m5 }& r
int ifail = ITK_ok;. |4 [9 |0 J1 x
LoggedInUser* loggedInUser = LoggedInUser::getInstance();5 U+ x4 J, @2 G4 c! K$ N
% \# j4 s( S& A0 @9 U( s/ _0 F tag_t currentUserTag = loggedInUser->getCurrentUserTag();
& j: y( \# j/ l6 _ cout << " currentUserTag: " << currentUserTag << endl;
0 S8 Y e. W( B6 G( L
/ M8 u7 w2 S7 E char *personName = NULL;
4 S) U# e! C. V4 B: N IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( j R M4 N( |' }9 x* V4 ~ cout << " personName: " << personName << endl;
# ~* B! ^- J& \ if(personName) MEM_free(personName);
$ S; ]7 H1 u4 |3 u # |% |8 w) V- [8 j7 C, w7 U
const char* userID = loggedInUser->getCurrentUserID();" w2 ?/ m) g% p
cout << " userID: " << userID << endl;9 u( }4 K( T2 \$ a& @. G/ I
8 V M( R) B0 e* @
+ D& u# g" i! w5 c; b tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();# y' Z7 S4 V( `" u5 \9 w" m2 ?
$ L/ I u, o. X
char *groupName = NULL;9 Z7 N- [, j; G! h, _
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
# \$ Y& W# u# t* O* U& m$ A) k2 [ cout << " groupName: " << groupName << endl;
- b8 [. E- l/ ]" v; ] \ if(groupName) MEM_free(groupName);$ e, o5 s+ ?* r1 r' w
7 R8 P7 [8 | j
/ a6 y8 N& u2 O- }, e6 x- T tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
: S8 v5 t( y6 h: C char *roleName = NULL;
. g' R1 t! n" S. `; x IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));+ l. j3 g5 M7 V7 r
cout << " roleName: " << roleName << endl;" L' A& v4 {! z- M q
if(roleName) MEM_free(roleName);0 B4 l) E$ E$ ]% A" P
6 L8 c/ E; y' w% A, @+ f( T
logical isDba = loggedInUser->isUserSystemAdministrator();
* e+ H" l( q2 N+ a4 B2 L6 E if(isDba == TRUE) cout << " User is dba member "<< endl;
( ]! x1 C& D2 T; `7 I if(isDba == FALSE) cout << " User is not dba member "<< endl; 9 V" k! f$ o, h' B% V/ y
}1 V/ U& x. L8 n- J
5 e+ D- J& h" W& S# I
* S. V _; W, b W. I5 S
+ e$ l. S( c3 T* L) B/ n. C" w+ K/ @4 [+ G7 H# C( |
* h& ]% E/ I3 nTeamcenter ITK 方式:
+ t! U3 ] p- f% O8 K" P
: \$ ~ t+ T' H5 M% G4 _2 p" o
6 _: w w% Q$ M7 F9 D) `3 \% c/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ [+ V9 W* V; s& h
static void report_current_login_infomation()
3 D& g: o' K. A{& Y4 t, Q2 {6 m9 k, \; O8 ]8 @4 u
tag_t
+ V- _2 L, ~+ K3 l$ j' p current_member = NULLTAG,
) z! Y- j) z& |! {* _1 O current_user = NULLTAG,
! w* s# f6 \; z- e$ D current_group = NULLTAG, 2 O/ N* Q: _, c' @. x7 A
current_role = NULLTAG;
0 h+ y1 S9 o, n% Y( g7 W* A# w5 ]& `5 G char
% N; L8 }0 x$ H: L8 v person_name[SA_person_name_size_c+1] = "",4 O' a( i t4 c0 c
user_id[SA_user_size_c+1] = "",
% @- Z. a& E5 L( x; K group_name[SA_name_size_c+1] = "",2 O( U# ?5 W, m% d
role_name[SA_name_size_c+1] = ""; : r0 N% C3 h: ?5 `4 f
& M( k+ C" L' I/ J& X- Y) K3 ]
]2 k/ U/ w+ n, u5 f8 F IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
& s5 W3 O0 o2 s$ M- T% p' j IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
& k+ f% e* h7 }1 W0 E8 M' ? IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));3 _; e. o1 X( m0 D: C- H
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
- u# D/ b# x6 n `) W$ t v. d( e* Y9 Y
7 [% q+ B1 Z* Z1 M1 t$ l
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));/ _2 ^" ^- r/ S$ |+ V6 o) \4 h# F
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
( b! C0 h# ~9 U- a7 S) f IFERR_REPORT(SA_ask_group_name(current_group, group_name));
d0 ?, Q5 t# i" } IFERR_REPORT(SA_ask_role_name(current_role, role_name));4 ~) |+ k1 m0 g5 s. u
, |& O2 `; _# k* Z& W2 [/ C7 K' \6 k7 _) A
ECHO("\n Person: %s\n", person_name);
- X- [; j" {9 h1 m- X% ` ECHO(" User ID: %s\n", user_id); g5 @" X s( o( Y
ECHO(" Group: %s\n", group_name);
6 C" j( x! ?8 K# U ECHO(" Role: %s\n", role_name);
9 p" ?) r6 x9 O+ q; P& v}, G% L) ^" i$ ~/ D( F0 i ]
0 l. D2 O/ {. b4 w: I! K |
|