|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
+ V' d! R. E( Q% z) V% I
8 |) A5 r7 p3 D/ [
0 d) q, k$ [, a3 x2 K. rTeamcenter c++ 方式:& u# ^+ R( P! F$ Y1 H
, M$ q. K) L, u W6 B$ L. v0 c8 U* `
#include <iostream>( Z6 p$ i0 n8 s) H& _3 {& n" N8 y& Z
#include <sa/group.h> h5 F1 W3 j$ _
#include <sa/user.h>
* u7 }* P5 |* D, S& U#include <TC/LoggedInUser.hxx>! I5 |2 g8 ?. C7 I6 `0 W
g [8 E3 d5 z/ C
1 _( i( \* P' Y/ k/ Dusing namespace Teamcenter;. Z8 z' H; a; ?' K' Z
using namespace Core;9 [4 k5 J5 }. H2 R1 t) @
using namespace std;! q* H+ ^: s, F) p2 G. J
3 t; u8 w+ l4 y$ g1 y$ W; b
* c+ I5 A2 W& ` G; sstatic void reportCurrentLoginInfomation()7 f& |, P$ W/ j" k0 s: p9 C1 f
{
0 ?# X" @( R! R0 e, g int ifail = ITK_ok;
/ H9 J" _8 A. \+ v LoggedInUser* loggedInUser = LoggedInUser::getInstance();
! S% N8 F3 e; F
0 s1 |% s0 n8 ]* U6 o* ~( Z1 Z% L tag_t currentUserTag = loggedInUser->getCurrentUserTag();9 {* W d0 j9 o$ _! Z9 d, S
cout << " currentUserTag: " << currentUserTag << endl;1 W( y/ r7 | K
+ {) x! _/ F5 }2 v6 M char *personName = NULL;
, c9 g& x: L7 S+ S0 \+ ]% o3 \2 b( l IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));$ p a( y5 Q5 d* d# Z- y4 c
cout << " personName: " << personName << endl;
* F+ K9 P0 l8 u1 X. n2 w: }) V if(personName) MEM_free(personName); Z/ @+ f U4 v$ |* j1 ]6 B
! K- [( W$ A# }9 c
const char* userID = loggedInUser->getCurrentUserID();4 `: s7 M8 n: i& k& ], O
cout << " userID: " << userID << endl;3 @% t7 c+ I- m7 x5 y2 b4 r
3 |3 i, l- O9 C( U
! R* ~1 X8 ?) [2 ~
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();) r+ A& u- ]* K% E9 F5 _9 f
! C. x6 @7 w. J: V1 Z$ H char *groupName = NULL;
# n; I# D& N( B' o7 S! M IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
$ S; W& C7 k, g$ E6 b cout << " groupName: " << groupName << endl;
' |! c- a) W9 s h% Q if(groupName) MEM_free(groupName);( E% b8 a7 g/ R8 k4 V
/ V# I- U/ l8 P/ z( R# M
) c* m3 P C3 x" b& G! q+ e. d9 K tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ W* A5 a. Z: A4 g. p' u8 F char *roleName = NULL;6 l, i# ?: Y; B2 q
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
, a2 u5 b1 v$ H2 ?' ^) M7 B# e cout << " roleName: " << roleName << endl;% _/ s& v# \5 ]7 \ [ w
if(roleName) MEM_free(roleName);
8 |& L" q: r3 x' E9 o: k/ B 9 M; m4 [9 h% @) c! y
logical isDba = loggedInUser->isUserSystemAdministrator();
8 R" x/ p7 _' m# t% g, L if(isDba == TRUE) cout << " User is dba member "<< endl;
" z/ E4 v& Z0 W5 Y" E' O if(isDba == FALSE) cout << " User is not dba member "<< endl;
# @8 s: X. K; i c' X}
" j( O+ a8 W4 R
3 q# p* S- s. Q" x9 ~ t1 s6 |3 |( `1 g, _
, t" M: Q4 P) o
: u; X1 R( H2 j0 W6 n
3 ~* J3 r2 G8 ^/ L4 H) N
Teamcenter ITK 方式:
; Z& O% Y" x4 q. [: \
. w# w9 v" A2 K% F
; }8 w6 Y% g0 Y D1 G7 `3 N) S/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */( c- I! V; q/ Q8 ?! \' ~! S0 M' U
static void report_current_login_infomation()% y6 j& h/ H! ^/ c1 {) f+ u
{' u: j2 [0 E3 G9 }- ~5 a
tag_t
+ t4 y" X" |2 j current_member = NULLTAG, 7 ]* C+ T9 |8 ~# R+ A5 r) ?
current_user = NULLTAG,
+ b: u8 R5 {4 T O+ D: { current_group = NULLTAG,
+ d3 C1 T; N2 D+ A3 } current_role = NULLTAG;7 N ?. v) l1 K3 r
char 6 o( K; X n3 ~2 e! X! ^( O% a
person_name[SA_person_name_size_c+1] = "", N5 B' @6 X$ ?
user_id[SA_user_size_c+1] = "", ; q& W* z5 u }9 w. t5 P
group_name[SA_name_size_c+1] = "",
6 m( z: N$ ?5 H+ L' d role_name[SA_name_size_c+1] = "";
2 l# ^! m/ f3 }7 L# b D( j6 V7 {7 i
0 q/ H/ C: ^0 o% C3 d0 {, N2 D0 E IFERR_ABORT(SA_ask_current_groupmember(¤t_member));* ]( }; T+ X8 ?$ c" M% A& r
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));# f" G" }# c6 x2 w; r' \
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
$ Q7 Y) Z0 ?, u7 J IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
9 y2 }: u3 I# Y( M6 O. t
! C4 h' u; x0 W( G8 G; ^7 k& Q7 P
; N9 b3 t7 C3 r7 t IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" ^% a% J: A5 y; V: b0 u- e8 w, T IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));) w& D6 W" w1 o4 _
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
& \5 |7 H G* A L2 }" r6 p4 ^; }. L IFERR_REPORT(SA_ask_role_name(current_role, role_name));% v7 T0 c5 ]4 S" D$ a
8 c) ^ O* Y/ p# r0 \! K3 C6 a, s( J% X5 D' Z
ECHO("\n Person: %s\n", person_name);
9 P; P% t/ w4 |! L ECHO(" User ID: %s\n", user_id);
( F0 j, i: n& M: {' E ECHO(" Group: %s\n", group_name);
* V* b3 @7 x3 m. Y ECHO(" Role: %s\n", role_name);
3 E, J1 }- k7 Y/ ~}
: ~7 t3 f# I: |% ~2 Y
! y% z! U8 V4 Y( o |
|