|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
& Z% P5 L' C0 b: X- I3 ]% k
+ _4 X: V6 V$ n$ P' u3 i1 Q( Z
* T( u, R* i! S- ]! @7 o. H. OTeamcenter c++ 方式:$ b! [3 n6 H% O# {
/ ^+ C$ i) r3 z6 Q; S* ~9 f9 c$ h% F" g
#include <iostream>
: k, \& ]) W, S. O4 |#include <sa/group.h>7 i+ q3 D6 \# N; d
#include <sa/user.h>
% ~: K6 D% `+ j* E% o9 M- c#include <TC/LoggedInUser.hxx>8 I/ N Y# e( V
' i' ^ x" p3 H' s7 a. L' p$ `7 _
+ w' N0 v$ n# y7 b Iusing namespace Teamcenter;
, X! r, L) T6 Musing namespace Core;* C0 z. N) A H- _
using namespace std;4 [7 H) ?0 s( I( l; g# [+ \/ T- r$ b
& f# g J7 `5 J& `: x2 f) a
& l7 f3 R% |, Q9 x3 I0 G) x8 M& P
static void reportCurrentLoginInfomation()' p; K$ X, m: ~1 G) U1 `* J
{) [/ a* v" o) d9 Z# }6 w0 p. L( z
int ifail = ITK_ok;
, H, Q% u1 B) h! n+ z% o' O! r1 i* p LoggedInUser* loggedInUser = LoggedInUser::getInstance();, K5 T" z& f( _. O
' a, m3 k4 i3 `- x" V
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 D8 V; P3 H3 o1 h# t" P cout << " currentUserTag: " << currentUserTag << endl;( m4 t4 E! e) p9 ], A) s' O* t
1 y0 s# `& q( e5 a4 m- S/ i char *personName = NULL;
8 c" {2 X Z! p* } IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));# Q- ~* {$ i0 h2 _
cout << " personName: " << personName << endl;
7 D _$ ^$ v" n. e' I; u2 s4 K3 y if(personName) MEM_free(personName);! v/ V; _5 w/ K4 `* V" W
) P- m9 b1 F9 G" N$ Z; `" D
const char* userID = loggedInUser->getCurrentUserID();
6 F' m5 B z/ A cout << " userID: " << userID << endl;
1 R' p# l' f9 e
% ] D8 F/ l$ ?6 \
% v( W/ T7 H0 G' l' Y tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();- L5 ^( t* n* K8 A' H+ ]
7 z) o. z3 ~$ |0 a6 Z( t. r8 T char *groupName = NULL;
! _2 u" f$ [/ h IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
; N* ^+ N4 V$ Q6 d6 E cout << " groupName: " << groupName << endl;/ E: v# n' b4 P: r& |5 l) r
if(groupName) MEM_free(groupName);
1 D+ O2 T9 [* Y9 a' v. \9 p; a9 |6 a
6 ^# S) X3 R5 V( m j( B# Q% B! Z9 O* K2 Q+ d
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 E, p* i6 v2 h1 J- J# Q- D char *roleName = NULL;
( B- W1 m3 U0 L5 O9 T0 s/ } IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));# V5 S( {9 `' G( ^+ @# Q" @
cout << " roleName: " << roleName << endl;/ S3 Y! d; f8 j# a, S# T2 B
if(roleName) MEM_free(roleName);
* \$ c( ^, D0 b : w g1 R* _ M7 [
logical isDba = loggedInUser->isUserSystemAdministrator();: k% f! v+ z; b0 g! c$ [
if(isDba == TRUE) cout << " User is dba member "<< endl;
1 ?7 \; J- e% Q, }5 i if(isDba == FALSE) cout << " User is not dba member "<< endl;
/ e+ _# B) ]4 A' p. d! u}
' P/ _ M5 a% Z* v& I2 r) m% \. m: [/ V8 L! I2 A& U
7 @" _6 y. c0 ` g# B) k6 ?, u! V5 ^: {, E
# Y8 ?0 g: K+ M+ N" b4 B8 v: Z5 B9 {6 I
Teamcenter ITK 方式:
) r+ e( j9 ~ n. R9 \" c1 W `" `* S I
) v8 R2 ?# F+ W8 X
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
% w) t! H- A: Hstatic void report_current_login_infomation()
4 `3 Z4 }1 ]7 R8 y{
7 d- f+ M; s+ q1 d tag_t
! N0 S9 }; _ h# d3 |/ F1 ? current_member = NULLTAG, ; e+ c0 ?8 E0 N9 t3 b
current_user = NULLTAG,
4 [5 [) p# X, y7 [( L' W current_group = NULLTAG,
D/ }3 ~, ^- c8 e7 @: V4 k current_role = NULLTAG;7 y7 G9 G- f# b- I4 w' t, n
char # h: P% O" M5 d! n! `2 V9 ~ z
person_name[SA_person_name_size_c+1] = "",6 p. o1 b. S! X$ f. q
user_id[SA_user_size_c+1] = "", 1 y& Y, Y% l# O% d. a& M* V
group_name[SA_name_size_c+1] = "",
( d* Y! q, V* N) I role_name[SA_name_size_c+1] = "";
( h8 D) m+ j, ^, H9 h, A3 w
: E/ ~: ?! u& ^& `7 g0 Y
3 m& \7 E1 Z7 ?' I IFERR_ABORT(SA_ask_current_groupmember(¤t_member));8 F" Q0 [/ c* f
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
% R2 G& A, U, w+ `$ J IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
% i0 v0 ~( Q: o% |! }% P IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
3 _, `1 @5 A9 X3 J o
& ~5 i& a; z+ o& B4 t: ^' s( H+ [
& C4 F) K$ r- ~/ E! a7 @0 J( f" F IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));+ D T" q! m( m- \: C) v- `
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
9 Z8 }! f2 x P- r IFERR_REPORT(SA_ask_group_name(current_group, group_name));
9 w* H! ^. C: k1 F9 i IFERR_REPORT(SA_ask_role_name(current_role, role_name));3 I$ g/ l$ e: N/ t, Z( w
, c; X" N# V0 l( I
* {6 w* J+ E9 b: Y. t J ECHO("\n Person: %s\n", person_name);
9 u. i D; e. O ECHO(" User ID: %s\n", user_id);6 T/ Y9 l3 c9 s* B
ECHO(" Group: %s\n", group_name);
1 H$ a1 m: W) v# e, |% h ECHO(" Role: %s\n", role_name);4 Y0 w1 N3 k/ V3 ]9 E6 c U4 G; q
}6 ]$ u; r; x# t1 ^
2 P4 d7 r( ] l8 _7 a2 } |
|