|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息9 ?% |. K3 @* Q3 L0 ~6 J2 S
/ {: \; f5 b+ W# F' i
% G& c0 ?* a9 E& }2 z0 m
Teamcenter c++ 方式:; ~7 `/ _! @ _6 u H4 U
" R% b) C X5 C" }7 |0 v- R
( K: \* `# T- G' c
#include <iostream>
' t' L/ U( H: d2 |#include <sa/group.h>
3 p1 `. y- t# b# m#include <sa/user.h>
6 A# e6 j) s r#include <TC/LoggedInUser.hxx>
9 b) U# Q# E' ^3 |6 n. f4 }) P2 v) k, n% W: \# F
. g" O' b8 p: J+ o; |% \& A. O
using namespace Teamcenter;9 i$ D s/ j4 f: O( U6 h
using namespace Core;# h% S, Q3 Z: M B( r- f5 Y
using namespace std;
; L' R% Q& `7 \8 _
% O4 c2 y5 I, f+ f, d5 l' I5 p) e* E7 |* q* { m% H
static void reportCurrentLoginInfomation()
8 g/ q" J9 Z. j3 s{2 m8 d" |/ L" p/ E4 e5 `) @4 `, V# j" X
int ifail = ITK_ok;
# A9 G8 @. g6 ^; \ LoggedInUser* loggedInUser = LoggedInUser::getInstance();
" L/ D7 F, z1 o5 L: g& X . f& Y: E1 \: Z( ~- H% S1 l' u
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
F9 N; Q! q% e: L" g7 {5 L cout << " currentUserTag: " << currentUserTag << endl;
f/ L; i3 a4 n; z' j
+ ]% C' I8 o8 f: N+ E4 Q$ U2 v7 f W char *personName = NULL;4 {2 m- E4 P' C! D$ P
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
! }2 R0 t1 n; n9 w cout << " personName: " << personName << endl;' |4 B: Z \& [
if(personName) MEM_free(personName);3 P9 S6 I# {7 M" J; G, I
7 U0 A+ {# U. r, A. l$ x* O8 \' T3 B const char* userID = loggedInUser->getCurrentUserID();7 A% q0 Q. E F& |4 K
cout << " userID: " << userID << endl;
- v& e$ x" _5 @# X- o
/ t( V0 m0 m5 W; t
5 b. T! L4 ~8 g, y tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
& |9 w" \3 U) c$ J8 q ! A+ C, F+ d% T) ]2 s8 n
char *groupName = NULL;
0 H. f# D2 Q. M9 q! D8 E5 C IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));! b* ~; ?0 _+ B2 f1 f: t' Y
cout << " groupName: " << groupName << endl;# g0 A) D& U( ?3 q: P% d4 }; O$ w* p) S! @
if(groupName) MEM_free(groupName); l1 W; Z3 ?! Q! V$ }; k
, @! ^' `$ _8 `* F. O4 y8 w
^; j( O0 C( ~/ i q tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();- W# } T$ C- m8 _9 D, ?5 Y
char *roleName = NULL;5 U) ]4 P) x) N! r% H$ X |( d
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName)); R% H' J2 |" }+ P v! J2 {0 H# q
cout << " roleName: " << roleName << endl;1 m- C1 f, c% Y( m
if(roleName) MEM_free(roleName);+ r" H) x' p, t/ o0 I
+ M* S! K% }* y4 z/ p. ~) G1 n9 c
logical isDba = loggedInUser->isUserSystemAdministrator();
: R: t0 G6 x( Y if(isDba == TRUE) cout << " User is dba member "<< endl;7 f3 q" L8 K, b0 V4 k
if(isDba == FALSE) cout << " User is not dba member "<< endl;
5 b0 U" T+ v7 N% L}. _7 x6 S/ a3 f
9 a, o; R- W7 U5 X9 F
2 C g4 x8 L& `, K+ ~$ D( A3 G
; m( p4 e8 v1 U# `0 _# A- J
( a! X* s( `7 @
1 M* }- E* t% ?; i# k- Q) } D7 ZTeamcenter ITK 方式:
) C1 f( f2 U3 B
, q, J( J- _3 t
* c7 u& H9 K6 R/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */6 s! w4 X' w: c% q9 N1 v+ q( A
static void report_current_login_infomation()
. Z5 x% a$ w: c. C{8 ^; u& @- T: {7 t8 B( I
tag_t
% ]( a+ P+ z8 F( \& F7 E current_member = NULLTAG, 9 o2 i y [. f. v7 m
current_user = NULLTAG,
. {2 J! |% X: W* n2 e current_group = NULLTAG,
' I" o2 D$ x: R8 w2 |# O current_role = NULLTAG;
3 N! E6 r7 |3 T0 q char
( \ t2 d- q5 l$ F person_name[SA_person_name_size_c+1] = "",# N* }1 T/ f# u* v, n1 Z4 T! ^0 n
user_id[SA_user_size_c+1] = "",
8 N8 e% L- u) k* i. [9 X8 P group_name[SA_name_size_c+1] = "",+ a4 m! s5 i( S( v8 R& b
role_name[SA_name_size_c+1] = "";
* x! t3 G5 N! y- e7 R( K; p6 C; N' u
( M E. H1 u0 C) C" ]5 V4 ~5 f IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
. T: x/ I2 A1 @( W IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));3 B1 s* f: O* N: S$ K! j9 W
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));; J9 E& V8 W+ W$ _6 Z
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));/ D8 T! D o5 |/ t$ L4 I0 N) _
" M; F7 ?! R3 d1 ]) Z
# s; @1 p5 d8 M* p2 ? IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
0 _, s- b3 a' Y1 o9 q0 [ IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
; ]+ C8 O( U4 X( |/ X IFERR_REPORT(SA_ask_group_name(current_group, group_name));+ B( J$ L2 h; g8 w2 D+ K; r
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
3 F& |9 a& e" Y: Y, `& x8 ~3 v4 G+ |2 O5 c( j( \0 x& Y
8 b2 E/ b5 b! [1 v1 F5 D# f3 t
ECHO("\n Person: %s\n", person_name);, x4 d1 z+ U6 J I4 d4 ?3 s1 W
ECHO(" User ID: %s\n", user_id);
+ V7 a _4 O1 g* q ECHO(" Group: %s\n", group_name);& k+ p8 d# K" u: c
ECHO(" Role: %s\n", role_name);
% i: K+ }' l4 b5 ]}( z$ W' `0 d5 F5 W, d$ S
/ r" I( J% |) T! p# ~( | |
|