|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
. I. t3 W4 l5 ?" x5 O; R" s* B* l+ `9 R6 T5 R% s
& \- c& p' T$ z4 @0 O; m8 ]
Teamcenter c++ 方式:7 J8 t! Q$ V1 O; m( M
# F( M/ M$ ?' r$ ] {! `5 C# x6 D4 I" a4 `0 F
#include <iostream>
, }4 C0 i( R& `% e5 u& Z/ p#include <sa/group.h>8 c# r. E7 u$ z# m) ?3 B; I
#include <sa/user.h>4 J3 f& o; F% `" v1 K# T
#include <TC/LoggedInUser.hxx>
1 M) T+ F- O6 T, ]; l2 J- q6 n! w9 h6 l- {+ R# Z) R4 u
& h) E: e! k0 s5 @2 i% Cusing namespace Teamcenter;: C; o1 O% j O0 l9 U8 P
using namespace Core;
: D: M1 l) ^* W% f( Gusing namespace std;) X/ I: | [5 u4 X- j. _
$ Y3 b1 V7 I% K& x1 e6 J A2 C
, x) J+ F6 v; C) W' Hstatic void reportCurrentLoginInfomation()( q8 B& _) v8 w( V9 X# H
{
, @& F$ D- }+ R. f! \: r int ifail = ITK_ok;# p: ?0 D( `7 X) E& }! l7 V' W
LoggedInUser* loggedInUser = LoggedInUser::getInstance();+ W" a) `; z. N! G5 j
2 J7 v1 m7 K; D' M tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. |) z! \! j% }. b- e+ _* e0 j4 D cout << " currentUserTag: " << currentUserTag << endl;
( F9 }! B, C* V7 o; D + u/ \7 N3 V$ |2 L5 S
char *personName = NULL;
( Y8 f9 [/ U4 h: F+ e: w- B IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));9 j0 D& L+ B/ b/ p2 {) J1 N- _
cout << " personName: " << personName << endl;
1 q; ^4 \ {3 u% e5 Y; S6 e if(personName) MEM_free(personName);% p: F* A8 H P+ E2 p- A4 P, F
8 _0 i/ u. |' m- A: `3 G
const char* userID = loggedInUser->getCurrentUserID();+ |- U, U3 X$ G* l4 S4 p
cout << " userID: " << userID << endl;: Q& ]% a2 {3 J4 f
% S! i$ h7 o0 r) W( |; G: Y5 z
$ J7 s q$ b( X9 m tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();% z6 \7 o5 ?8 E N) t; `$ t1 f5 O
0 v# I2 [( n" W2 k0 K char *groupName = NULL;
3 o f6 l4 V& g. l- Y2 X! b IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
' _5 T! \; M( B# F3 } cout << " groupName: " << groupName << endl;3 H; Z: x- M" O; D B$ w
if(groupName) MEM_free(groupName);, z- M- g& H, T. x2 O3 F( `0 f
( o D" [; L; w- N, k9 C% j b3 [
2 ^8 w( e; w A8 A6 a0 T tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
2 s, A% `# b7 |! e+ o char *roleName = NULL;
. r4 `( b7 g( u2 f' z3 y IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));2 f8 R$ h$ L( M" X' P9 C
cout << " roleName: " << roleName << endl;
0 X' w9 o U# P0 T( S5 X if(roleName) MEM_free(roleName);
/ ?$ Z* Z9 S& ]& e4 X# p @0 ^ % |' w. X7 r5 \7 h
logical isDba = loggedInUser->isUserSystemAdministrator();
. |) F( F% w& c if(isDba == TRUE) cout << " User is dba member "<< endl;& C* N" D( T! O3 L
if(isDba == FALSE) cout << " User is not dba member "<< endl;
; G( x7 l# i9 E2 M5 T: v# i}
2 R$ a9 `. C1 d! t9 }- U8 r/ |, m0 | z, r
% H2 L2 S$ s- ^0 h% {' i; X; b7 [
0 x- L, k1 d8 J& i- L9 h
+ ~8 p0 h @$ e: | B, H
# J) ]$ W0 G, S( b& p9 ]
Teamcenter ITK 方式:# v9 [8 l. g9 J! @1 D2 E" i
7 s' \5 H* O; |; l/ ? z/ x. y
+ D4 a1 E( z# G1 m2 Z( }6 l
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */1 l$ {: \ G) [- k, f# k
static void report_current_login_infomation()- l& E. }) r# C2 U
{8 `; _- y& D2 [4 t8 f& v! d
tag_t
Y$ D, ]: h+ g8 J2 V current_member = NULLTAG, + G1 C3 A1 L7 S6 t
current_user = NULLTAG, 6 z; d: \) y% i5 w7 f
current_group = NULLTAG,
1 @2 b2 U. s6 h7 ~+ o1 Q! X) t$ R! ^% I current_role = NULLTAG;
5 q+ f& q' l+ p/ o$ E" n& W char
# O6 o8 a6 B' I5 { person_name[SA_person_name_size_c+1] = "",$ ]7 z; N+ l3 c R9 U$ F* t2 K' n; L
user_id[SA_user_size_c+1] = "", 5 W2 s! S w# c7 p% k3 p
group_name[SA_name_size_c+1] = "",4 O5 m. s2 Z: R3 d
role_name[SA_name_size_c+1] = "";
8 l/ G5 b$ ^2 _ ?6 T) ]. I$ ? W. A: k( t- E
. x( I7 V0 F4 q$ V% M b: ]# X h IFERR_ABORT(SA_ask_current_groupmember(¤t_member));+ N3 B, o9 i/ Y( I
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
# o6 g3 W9 z) J" o IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));8 o* S/ ]6 Y; Q& t& F$ V
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));9 h, ]9 J# _3 v ^& W0 [+ T
$ @ b3 ]' x; g0 g5 N
4 u/ t! H9 X$ Q N' n/ D3 f5 k. V4 o IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
2 U9 g# P$ X1 K6 e IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
- N6 Y' z! c9 f, a* a' a IFERR_REPORT(SA_ask_group_name(current_group, group_name));
5 B, _3 v* O( R" s# y" A IFERR_REPORT(SA_ask_role_name(current_role, role_name));. p. N% l3 B' N0 }2 Q6 R
1 N$ t" Y5 v3 w3 \; H/ {8 p/ f5 v
* L% @- h b, g" e ECHO("\n Person: %s\n", person_name);! t$ G3 q) T+ b9 s. `
ECHO(" User ID: %s\n", user_id);
" z: M. l; U1 Y- x& x ECHO(" Group: %s\n", group_name);/ J' b* P: B1 p8 X
ECHO(" Role: %s\n", role_name);
3 d# k, E) Y' B6 Q3 j+ W, v}4 F/ Y3 z9 a0 z/ H: ^9 u
+ T1 V8 l1 ^ r' O' E
|
|