|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
7 g' W* ^9 N1 n/ m- ^4 q" t9 ]6 { i. O! J! L
2 Z* I% u4 u% s6 S6 r6 I/ M; P
Teamcenter c++ 方式:& e! V- E' I& h2 K" \) R
6 ]: K' q" Z. `" V
1 ^$ ]) T! i) K. v) d3 |. S6 y#include <iostream>" L2 w( ^; z- J* E/ T( T% ?
#include <sa/group.h>2 b8 M1 n! b5 ]5 d* ?9 p( u
#include <sa/user.h>" ?/ Z9 c/ D' ^2 B6 e c
#include <TC/LoggedInUser.hxx>3 O! n( R! |1 y: X! G" P
; W2 y# J% q5 ^+ W
, m- P6 z0 L; _( @using namespace Teamcenter;
7 s& X% Q5 J" |! Eusing namespace Core;
* t. R1 e9 W" P* L; E! i; w, L: ousing namespace std;) \& W* _2 \# H
- z5 c8 ^! Y# `( P# a6 }! H; d0 }+ Q6 }1 d" _* I
static void reportCurrentLoginInfomation()3 ~8 d5 [0 L4 m5 _6 G; w
{
C5 v2 z: D; ~% N7 ]' o/ { int ifail = ITK_ok;
7 ]3 e7 M/ z- A4 j l. W LoggedInUser* loggedInUser = LoggedInUser::getInstance();7 Q+ w/ o) I/ L" s6 [; ^" ~' f
[- L( {2 [0 m: M. s9 ]( _" }/ E tag_t currentUserTag = loggedInUser->getCurrentUserTag();
2 a9 X( n: s. ]( n& T8 M1 B cout << " currentUserTag: " << currentUserTag << endl;
. M0 Q/ R2 H( u6 o: U $ d- B# G( }; m W, X' T
char *personName = NULL;
# E4 n: {2 Q4 Z5 W J( V IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
. v: O: c! J- I, I( H* \" K cout << " personName: " << personName << endl;0 l1 d5 F: v; L. l1 V" ^+ m* [5 V
if(personName) MEM_free(personName);" E0 B# \7 j E, k7 P& F5 z
, l- O* S }/ i5 e- w" }; Q1 l l( g
const char* userID = loggedInUser->getCurrentUserID();3 [" _' b6 f. c0 D
cout << " userID: " << userID << endl;
5 X- m! V5 C+ A$ d7 M- y8 A
( W3 i6 l5 W z! x; |7 U8 @: C1 O3 i0 C
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();( ?7 X0 o& y: I( |
" G! j, I" G: o6 B9 j! }6 x$ U. G
char *groupName = NULL;/ B- W; L$ g Z% t8 W% C! A1 I
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));0 H" h, f4 c \. K
cout << " groupName: " << groupName << endl;" I/ E# i7 n9 U/ _4 a; `
if(groupName) MEM_free(groupName);' Q' v( V. E/ T' a5 b1 D7 F
* e- B; Z, x3 A- D/ u: r! I) s7 W7 Q# I' N
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();1 C) G, R* r1 [& q* V
char *roleName = NULL;2 @9 E- Q, p/ M( f/ K
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
2 b# R: N5 v; i5 w. w7 R H cout << " roleName: " << roleName << endl;$ F i" z1 C3 I) x
if(roleName) MEM_free(roleName);0 G! \* J; P D! D- F6 ]
5 ^$ Z3 C0 [0 @# s+ J7 J logical isDba = loggedInUser->isUserSystemAdministrator();
5 g7 \4 B# L6 O/ m% z3 J% w if(isDba == TRUE) cout << " User is dba member "<< endl;7 @) p. L* l; [" n3 \% e
if(isDba == FALSE) cout << " User is not dba member "<< endl;
" y9 N/ q) s( c. e# U, |1 C}
; d; U" s# \! n& L9 }4 k) V/ F1 k, ~% r( @" F
+ l. H; C9 N* }( g7 S, z- p! [: b- G/ e$ C9 s: \5 e9 Y' {7 S
0 N* i2 i# h9 y% @- F. ?+ J
5 @* z7 @$ [1 I' j: a
Teamcenter ITK 方式:
6 }4 |# `2 U' P
! Q' O- ~4 P3 M6 \
$ P1 B" ?" R, e- \9 W* L/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
, D, U1 h' }7 L/ Pstatic void report_current_login_infomation()4 ^, P9 x* K$ e& H
{
4 [, O* C5 u; Y/ B, e# A( Q tag_t
/ u8 D x" k8 V current_member = NULLTAG,
" G6 g3 e6 ]- @; H' H current_user = NULLTAG,
- U: V3 S# ?. |5 @: ^/ i ]: l current_group = NULLTAG,
5 }! V8 l' s: d current_role = NULLTAG;3 P/ h/ p% T! s) R ^0 w3 m
char $ b9 I; _3 ~( b6 R! f, R
person_name[SA_person_name_size_c+1] = "",
6 s+ T( p$ V' H* `+ a5 N user_id[SA_user_size_c+1] = "",
8 d& \6 D$ s+ m/ s group_name[SA_name_size_c+1] = "",
& O1 A% G6 F( w role_name[SA_name_size_c+1] = "";
" r! ~/ X% x) K
1 J7 y, n( [. R5 a( w
0 H7 M' G& k- x: ^; G" J7 s IFERR_ABORT(SA_ask_current_groupmember(¤t_member));* ^& R2 W- ~3 L9 [; Y6 r: g
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
1 @% B2 x: u/ ]: m; B IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
1 y n3 A& G$ P2 {7 u: {3 f IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));# u3 M! N9 V3 h7 X( N
6 ]8 [9 P. Q% @% f* B8 O( z1 {" u" ^* R0 A3 Y0 @
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));2 p- Y* x6 j" O( V4 B8 D
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));7 u+ b' @% ?& s- @- t
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
$ C% B0 w8 B/ G8 X( V+ C5 K IFERR_REPORT(SA_ask_role_name(current_role, role_name));
4 ?& w$ _' O. p$ z; h( w
$ b T( S+ Y3 F$ f% p- B: S! T
3 K; A8 a& `" B% F% d ECHO("\n Person: %s\n", person_name);0 G4 o6 H! d" q
ECHO(" User ID: %s\n", user_id);
7 k& `; C$ J/ F+ h ECHO(" Group: %s\n", group_name);- l3 R/ Z1 E0 v" ^, u
ECHO(" Role: %s\n", role_name);
# L8 C( c! N8 ^, j& `" q% K# e}
9 ?' v1 _3 w) Z1 V1 s2 C7 e
) ~. C M6 V- y5 B, T/ o8 c- F2 a. u" x |
|