|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息7 ~ w$ K5 T5 _# z! R1 y0 s! E
! `3 H1 z4 Z( F6 y1 b& |- E0 e' v& C1 J
Teamcenter c++ 方式:- s8 J8 M0 O, s' _6 _. o
5 N& D- ` G5 ]/ O9 a% Z
3 X0 y9 i5 A. I3 u, g y#include <iostream>' v6 ~& `0 `) E3 `9 z) t. g
#include <sa/group.h>
! X5 ]+ T1 ^8 z7 A/ I5 ]% e#include <sa/user.h>4 V3 O% T) [1 `% l* y' T
#include <TC/LoggedInUser.hxx>
6 i) {1 X8 H* I$ N6 [
7 b- Y' `3 j7 }1 E" `$ F _' k9 w
5 Y9 P, L/ Y4 q& ~- Lusing namespace Teamcenter;
% v A$ O" v7 s6 d- V1 ~5 }* yusing namespace Core;
9 w1 h3 m) F9 v+ y7 N. f" U7 n7 _) lusing namespace std;! A; X) V4 |/ R# t3 U3 _0 ?
- Z0 e m* |/ s& H+ Q; V$ b5 V+ T- }1 N( |* M4 o
static void reportCurrentLoginInfomation()$ n. r& {: [$ e% N
{ R. r% c1 d( ^7 V' s
int ifail = ITK_ok;. b% K. F) c6 r
LoggedInUser* loggedInUser = LoggedInUser::getInstance();: m" H& \$ U0 @
. Q) J9 v1 `! W5 [4 N& @% o0 ^/ a tag_t currentUserTag = loggedInUser->getCurrentUserTag();
& d3 Q- e3 j E! C9 K& B3 y cout << " currentUserTag: " << currentUserTag << endl;3 E f( X9 r; M6 a. w# m: ?+ h$ J
* P3 U' x3 X9 s- Z) S- H7 v char *personName = NULL;0 U, P; _9 e0 F) v* W( f
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( I0 r$ N) w, f, A cout << " personName: " << personName << endl;
0 b, o7 ?2 A' q& h$ f- P; r0 D if(personName) MEM_free(personName);* f7 E0 G. h& ?/ `$ w
1 O9 N. g+ g; p const char* userID = loggedInUser->getCurrentUserID();5 X! D% ^" D6 Q( t5 t
cout << " userID: " << userID << endl;4 w0 e" a; o; j9 a% ^
) U# C! `- d# I2 B7 @- v- C
7 U0 I8 ?8 ~* v1 {8 Q6 u* M tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
5 l- H& K" e: x; Q* C
+ ^. F/ ?2 A& ^& W char *groupName = NULL;
! w1 F) m- [" g- Z* [- B/ u IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));7 b+ W! h: H, b z$ d
cout << " groupName: " << groupName << endl;# P! P3 p% N, i% b! d8 s( q$ D/ u; X
if(groupName) MEM_free(groupName);
! J3 v; F, u6 ]5 e, b7 |
$ Z/ e( g8 j" v5 ^& ^: m; g! {) Q7 ^9 t2 n1 K, p# k1 _& y; o5 L
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
1 ^. G6 `- L; G/ c& f char *roleName = NULL;' R8 H0 w# I3 _
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));% b* y& i2 e8 z
cout << " roleName: " << roleName << endl; h" k1 |7 g, p
if(roleName) MEM_free(roleName);( x1 {1 L' B3 i7 g+ t- t
) ~/ V9 X4 Q0 G( T( E logical isDba = loggedInUser->isUserSystemAdministrator();/ b- S+ J9 r3 {% `/ z
if(isDba == TRUE) cout << " User is dba member "<< endl;% z. L5 Q( y) r( d! X
if(isDba == FALSE) cout << " User is not dba member "<< endl;
; ?) o6 e7 r0 h, t; j% k: U}0 {) L2 F" r- e
5 g A8 ?1 v/ ?9 e* @2 m# A% |& C, Z& ^; _' I
3 @) j8 ~# y1 y* ^6 D t, ]" E* o. ^
) n' A5 i! S% S# N' e8 `/ c7 d5 M2 l" _
Teamcenter ITK 方式:
8 u/ {; i, J9 c' z- i
$ q. [2 z8 f2 q. E1 D' V' P0 q' v8 D& P7 l/ R! V( t0 Z
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
8 _& [% |5 M. t" n/ [static void report_current_login_infomation()
! ^' e' j, w5 l$ {7 U" E: U1 M3 ~: U) D{
" }' J" J9 z2 f) h) j tag_t
8 X0 n3 N+ E) B6 n/ \5 w current_member = NULLTAG, 2 r% H0 a7 z6 c4 @7 ^! Y
current_user = NULLTAG, 5 w$ c. s( V/ ~! {
current_group = NULLTAG,
+ u o( y: \ D- y, Q( x current_role = NULLTAG;
4 B# G% H! w3 v char
5 b. ~3 Z5 j9 W e: | person_name[SA_person_name_size_c+1] = "",
, a( T7 M" b) S# X3 Y3 ^ user_id[SA_user_size_c+1] = "",
" {, F8 L0 h! M5 u8 Z4 f group_name[SA_name_size_c+1] = "",( Q% H( F; n' E. c' ]# n
role_name[SA_name_size_c+1] = ""; 5 y) X% v5 {7 q
" ^# q) w; U' w+ E0 K
: a: I6 x& N0 u' W
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));- ~" {) B4 E5 M
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));% D _3 U4 ?8 N0 \- ~2 z0 v, i7 l+ P
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
- A' x5 P& I$ ]- o IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));9 G! V ^2 c1 R& p% U( w1 S
9 C* z5 D7 R- l9 b4 Y. p+ ^0 k# E
! B3 ^& i& A8 \3 D1 s5 m7 U IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
K) e4 L3 X/ M" V$ H2 V IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
" N! @1 @9 j% ^ IFERR_REPORT(SA_ask_group_name(current_group, group_name));2 \1 G/ ?' e/ {: n% P- ?
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
* ?+ p: [+ g( U% @. L% g4 P( w9 X1 Q9 S2 ^+ `
7 m% ^9 b3 ^4 S- _& W, f. K
ECHO("\n Person: %s\n", person_name);
1 d5 _6 B9 r3 A6 _4 ^; _ ECHO(" User ID: %s\n", user_id);! y) U6 G, ]- U0 Z* s
ECHO(" Group: %s\n", group_name);) l) s! A$ n0 @# {: [1 [2 y
ECHO(" Role: %s\n", role_name);
9 X3 c! [6 H1 y9 J; ?}
2 |3 P! ^/ B* O1 k
" B' n. I2 r5 U1 N6 U |
|