|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息9 ]+ e L7 X! l7 i5 N+ |
$ \. g9 ]/ R9 y4 Q& x3 G
7 e9 N: M' N& u8 {Teamcenter c++ 方式:" {- _9 `1 J- m3 L: q1 j
/ |' }7 {3 E9 j; y& X8 `' c7 ^; z: Q( r/ n3 r0 ^
#include <iostream>' t/ L6 {% D$ \' V2 @. E
#include <sa/group.h>; I9 v# n1 h( r1 R% d
#include <sa/user.h>
( m( H4 {+ x, J* G#include <TC/LoggedInUser.hxx># s7 a# V( U, D7 o e
) i% L( J; t/ @2 Q0 H
9 o* P# T1 X3 A. [/ D, fusing namespace Teamcenter;
* b( h T( m: ^0 m6 C5 ousing namespace Core;" w& M/ F' p5 S8 W" S
using namespace std;7 Y$ H0 g( @3 ?; O" {
; I* K$ q% H+ H) L0 }3 }5 M& e
* z6 |% m- s0 p' p. ]. J+ s7 jstatic void reportCurrentLoginInfomation()
. \: u% v2 J" K) b& c{
3 e( T% N# \0 } int ifail = ITK_ok;- B! {# Z$ w$ f
LoggedInUser* loggedInUser = LoggedInUser::getInstance();0 F- t# s, K4 B' O: A
, W: T0 i( z/ [1 I$ A/ j tag_t currentUserTag = loggedInUser->getCurrentUserTag();1 w7 l/ Y# e. d: a$ @
cout << " currentUserTag: " << currentUserTag << endl;
2 w$ u2 F8 r$ V+ w4 N4 z" z( C
) I/ `' w9 o5 }; z. m: ? char *personName = NULL;( T* Q2 Q9 c% A( }" v6 [
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));, V; x9 n% R* r. B9 J6 _
cout << " personName: " << personName << endl;4 Q1 y" N* Z T5 Z/ R- c- [
if(personName) MEM_free(personName);
. ?. b: P; _% n1 V' E , Y1 m4 _ f$ K9 c" N9 e) T, t3 A
const char* userID = loggedInUser->getCurrentUserID();
6 O7 f9 T4 ]6 O cout << " userID: " << userID << endl;+ Q: `* A/ L6 Z; }
* R! x! @ c1 ~8 e5 f5 M( l1 h1 a* j& J
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
) ]& C9 Z0 P2 A1 C) { 0 B S" R" S7 x$ U
char *groupName = NULL;
% p P. O: O! z+ A1 r! H IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
3 N1 a& `3 E# V0 u cout << " groupName: " << groupName << endl;. U" E- ?0 Y" P. [3 i& u
if(groupName) MEM_free(groupName);
( {# z" X3 h" ]. g8 X/ c5 m( X+ ]1 B6 x; C% Y* v
3 T& x! L/ f! F2 h- _. S
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();/ P" X1 \! l' [/ n0 H
char *roleName = NULL;
4 W% [4 H3 W* p' z& J0 s6 \; ^: w: F IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));4 u$ ^0 ~2 ^ m+ Q2 U- F6 K
cout << " roleName: " << roleName << endl;3 o1 K" n4 l# a' }+ O% f, _7 i
if(roleName) MEM_free(roleName);
! M$ S, P, `. P0 h" |/ D, B) a
: u( k" _; Y* l+ i d8 d) P- ^- W logical isDba = loggedInUser->isUserSystemAdministrator();
) d" v/ Q- @, h0 ` B7 k9 ^ if(isDba == TRUE) cout << " User is dba member "<< endl;
& u- j8 x9 A1 E& O$ V2 @5 p if(isDba == FALSE) cout << " User is not dba member "<< endl;
6 {% J8 j& p; c i' l/ H& N" r}
: G: \5 R( [+ t. _% M/ q/ `1 t9 [0 ~- c" J! T
' X- p. y5 K" f9 L1 Y
/ g0 i7 Y. F6 r1 T
. F$ t7 ?3 q# E& n% i4 U! A. K, u' K+ g! m5 N
Teamcenter ITK 方式:
3 N, f9 t/ _. t* L2 D; H
4 e0 Q& V% V! I9 h$ r8 {. x0 Q1 X- Y+ Q+ E/ v. b) |: W
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */# ?( w8 [, h% B/ z
static void report_current_login_infomation(); A7 h' s( f, ~. x( e8 y! W. i
{$ O9 ]2 I) b+ W( B( `" j
tag_t 2 e. g3 L2 R9 f {3 V, |# k
current_member = NULLTAG,
) g4 E% S3 J& k: S ~ current_user = NULLTAG,
. ~; V: i) O4 L; i: S2 e) | current_group = NULLTAG, 2 `8 m z- b* ?; s: U! W
current_role = NULLTAG; Z& d9 J* {2 P7 J
char 3 |' V) a9 `2 l" X$ g1 \5 X/ {
person_name[SA_person_name_size_c+1] = "",
" T! G8 k- ?/ i/ O! u* q& @7 p user_id[SA_user_size_c+1] = "", $ }- j, {; V% @9 a
group_name[SA_name_size_c+1] = "",7 ^+ y$ k/ G1 ^' o; ^3 d
role_name[SA_name_size_c+1] = ""; 2 m1 d( G* p$ _0 z0 A A
# w" H: E+ I, f. ~0 S, @. J$ z- H; k3 H9 H, C6 @/ J0 l
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));8 z/ ]* T1 {: S$ H/ I0 x) Q
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));& l7 P/ H( U& w( A5 S
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
2 _ G* U) ~5 A4 f* U IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));' z, J9 i# K7 V4 q; k7 _% p
3 z0 P$ w/ q3 s4 G3 b/ a5 P, g" R% f% }# u
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));6 O3 q0 D) Y- Q) G2 H/ b
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));0 a3 Z2 o9 j( s+ ]+ s. \8 m
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
; {' k+ U, a" ~" S3 n- z IFERR_REPORT(SA_ask_role_name(current_role, role_name));
, L Y7 _5 T- F8 @" Z5 \! c1 Y1 r9 C) R @8 w
1 X% C' J1 p6 v+ B: d: S7 G# a# N ECHO("\n Person: %s\n", person_name);
( B5 u# q/ b9 |, h5 i3 l ECHO(" User ID: %s\n", user_id);1 V, s& L' R1 `" t& g
ECHO(" Group: %s\n", group_name);
7 b! w: H8 h6 a W" L ECHO(" Role: %s\n", role_name);
7 c- V) y5 x7 m! k1 q}
6 f! d8 S6 M. k: C0 R; I( n& s' V2 x2 n' H
|
|