|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息" W8 V# E. p, {7 r" v. V3 e9 B/ Q
; Y0 F5 q. }4 `' e) Z! e/ A
$ T, l/ l2 |" K/ s9 j, \+ Q7 NTeamcenter c++ 方式:* @4 b; y# a, ?: @" W0 U+ I. Z
+ L- W' `8 X2 t9 b) k7 S
, q$ _8 k- E! s' a
#include <iostream>1 R4 ?7 T1 p* G
#include <sa/group.h>: O7 J8 t; L$ C4 q* u- F6 b
#include <sa/user.h>
9 Z% Z" T/ [ _; c7 ] c7 V$ ]( u#include <TC/LoggedInUser.hxx>: ], B. L3 Y3 H8 d4 @9 G. O: e" i
: s3 J' T/ N" X3 K
% p, ^7 i" h# T1 B3 Dusing namespace Teamcenter;
" @- s% S9 s' k2 m1 m0 Iusing namespace Core;
2 T) I* B2 p4 s9 n* m: Qusing namespace std;
3 S; T/ \0 `) u- P( p: {# R! I, K5 i! n6 F0 \
2 i$ p7 Z( x6 Ostatic void reportCurrentLoginInfomation()
) n% ]8 h" E! l: I" @+ d{
; v3 m4 E/ u" z int ifail = ITK_ok;2 E$ u @4 T( k7 w
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
7 E5 @8 K6 I0 ^2 k2 ?
2 F5 P' W4 J/ ]# Z: q0 b( w' ]9 Z tag_t currentUserTag = loggedInUser->getCurrentUserTag();' D; y! H1 }: w- c3 L, E4 D( e# }
cout << " currentUserTag: " << currentUserTag << endl;. P, [' h5 X6 z0 g
2 B. {0 \5 g& r- F4 }
char *personName = NULL;
+ I4 f- L5 y+ u y' e9 H$ z( a IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 A4 c! Y+ U1 ^" ]+ D cout << " personName: " << personName << endl;3 I9 p$ w; B& B
if(personName) MEM_free(personName);
, a4 m& X5 ` y) e 4 {. l7 ?! U8 ]) E$ T* o/ t
const char* userID = loggedInUser->getCurrentUserID();
/ I1 P8 r) g3 Y cout << " userID: " << userID << endl;
7 y0 y9 R$ E' f! N% c! ]8 A8 V2 O2 x( x# j9 ~6 |
+ G I+ L5 k1 ~1 J5 Z7 ?# w5 p tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();4 Z1 J- H( g2 r6 J
8 q0 n/ ]9 G3 O char *groupName = NULL;
+ A( P. i" ~/ E h4 y IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));1 ]- H; m2 I+ K. J3 c6 s. H
cout << " groupName: " << groupName << endl;
4 V: A% {2 h6 R4 y# o1 a if(groupName) MEM_free(groupName);
# U7 i$ U" x7 l! ?4 ~2 h* q; o
2 J+ u S( M, L8 y z- |3 a$ ^) P2 A# u0 u0 k9 L# U5 \. V2 u
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
, U V% E0 D6 j. v2 o: E char *roleName = NULL;( f2 ?- d7 s! T' r1 M
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));0 U" Y+ \- Q- ^, q' F
cout << " roleName: " << roleName << endl;# i' p) P& M( Q
if(roleName) MEM_free(roleName);+ Q: Z" y; H7 ~8 E# [
1 j, w1 G: d. n
logical isDba = loggedInUser->isUserSystemAdministrator();. q. |; \8 s3 Q y* v4 J$ ~
if(isDba == TRUE) cout << " User is dba member "<< endl;; J/ I5 f, C$ D1 ]9 B
if(isDba == FALSE) cout << " User is not dba member "<< endl;
1 b6 O/ a0 A5 c k}
/ f% ^+ b( @ r( y" e0 K+ o7 O A# M6 u% e" F
: T6 N( _- t2 Q* I4 ^3 e, h* J
* r+ @' ]) n1 o! K/ q2 w* C9 W
5 n7 x3 [/ m( b1 N2 i, Z# [+ E6 ^2 A, I+ ?4 r, H% E
Teamcenter ITK 方式: g% U" d' T( q S+ ]1 _+ S
2 ~! D" m d0 [ Y1 F: {% I9 R
/ ^/ J4 v/ E( G9 ?# D1 {/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
5 o( H# G& G7 ^5 }% Hstatic void report_current_login_infomation(): t- t! D# D8 c' b
{/ R) S+ J" b0 x' \7 C
tag_t
' p0 y, E i0 z" f. O- ^8 j- F current_member = NULLTAG,
" X6 i" l7 A; R6 i2 |& z* b current_user = NULLTAG, ' ^4 _3 {; W' o: o7 m
current_group = NULLTAG, 5 O( k1 @& s* a2 e- J: {
current_role = NULLTAG;5 D! O& O' \4 t/ k' y, j2 c: ^4 {% K
char , W, B( `! L* f+ ?& N& Y
person_name[SA_person_name_size_c+1] = "",
) g7 r% @8 J0 n! C8 F7 y user_id[SA_user_size_c+1] = "", * `1 ^6 o& N1 @6 ?- R9 r
group_name[SA_name_size_c+1] = "",2 I3 }- p8 {1 d) S6 _9 t
role_name[SA_name_size_c+1] = "";
' j6 P" x. h8 Q9 G6 M0 W( ^6 }. V* ]( ~( x) v% X, D
" j1 O! T1 X5 @- I9 c. b. l IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
' i3 E I4 p5 M* U5 @ IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));3 A3 } `- p7 ]6 R% x' o u# N
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));. |7 q& U5 Z% }5 H
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));- J; x! L0 E1 N: b
/ G* A- s' ~" }* j
/ p: W5 Y# q1 E. O0 e
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));: Y9 B$ o$ \3 f0 y( ?+ m: A+ ^
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));% b/ k$ {/ s `5 a, W/ U
IFERR_REPORT(SA_ask_group_name(current_group, group_name));8 {: d- e- Y& y4 H5 p ?3 k
IFERR_REPORT(SA_ask_role_name(current_role, role_name));0 w4 t+ }( X7 W E& k1 Q. w& ?1 l4 j
9 K! Z( l( j, d. C# N4 M1 l, ~7 m6 ^2 w
ECHO("\n Person: %s\n", person_name);3 B+ X7 B# Q- i) x# [; F8 K7 ~/ D
ECHO(" User ID: %s\n", user_id);/ l0 Q7 ?6 @4 n* K7 ~2 s8 m1 H
ECHO(" Group: %s\n", group_name);4 B' |! {) [9 _% z9 }# B7 u
ECHO(" Role: %s\n", role_name);
' ?' P& p" r- z}
& r8 @; V" p' E9 W: @5 O; |. i% J' J; r: @& [
|
|