|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息
7 ?% ^0 f" v2 p" X" i: X4 S! ~7 b
9 e4 x+ U& Y7 c% v( l$ T
Teamcenter c++ 方式:# b8 k8 R" p% }1 j$ p. Z
5 o8 ~; {& n4 e$ J! E# M }* r
, B7 `1 c. q' B% D5 v0 H! Z#include <iostream>
3 [% \4 W6 ]% u& O3 y#include <sa/group.h>- ?$ r& C. `4 U- ^3 b
#include <sa/user.h>4 Z- Z0 i4 n6 _* s
#include <TC/LoggedInUser.hxx>
7 R; M' H; v' M. X1 u5 R
( K q0 m, b- ^0 W3 z. W( Q; z0 u( m5 }" |2 D* {; k* A% a
using namespace Teamcenter;
% s ~2 u2 m% j! h) X: Vusing namespace Core;
) N, N, x( e6 jusing namespace std;. v% `4 e) E m0 r3 _
) c" T# m. P/ T2 B& |! r9 E
$ C/ t& L2 Z1 Gstatic void reportCurrentLoginInfomation()( k: C: K, U2 P1 L( B; ?) k" w
{
: h/ W) y2 Q" B) v) g, ^0 A int ifail = ITK_ok;. }) K2 l3 Z- k# M4 a' y7 a7 g
LoggedInUser* loggedInUser = LoggedInUser::getInstance();( ?6 v2 q7 V! w
6 X- P. K4 {2 \- H& J
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
( j% M8 R L& \6 C cout << " currentUserTag: " << currentUserTag << endl;8 F6 A; F/ D# j7 }& T
; a! m) u# g* X U char *personName = NULL;
) w9 c6 Q. S1 v- l; l IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));8 U* d4 E: }8 @( R
cout << " personName: " << personName << endl;1 Z5 b/ r& M$ r: T' C% n
if(personName) MEM_free(personName);
2 n# \1 g4 W+ D+ |- P+ b
; V. w) N; B! _# A0 B, s) f const char* userID = loggedInUser->getCurrentUserID();6 V9 I, f0 E: T1 O0 ~6 [ f: |
cout << " userID: " << userID << endl;+ a: J" y6 e: s2 A0 d Q! n0 j
- H& B& Y" C/ }
' l4 h( U. |! k1 N) ^( _
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();/ U3 Z6 m( P1 T8 K. S' N* i+ {
0 v9 E( ?6 w' c4 J- H, M char *groupName = NULL;1 [2 b; k2 x9 \
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));& k" u% B9 o7 {7 g; `/ q2 s' u( p
cout << " groupName: " << groupName << endl;
$ l5 I* b$ j/ k! |# T# @) y5 @ if(groupName) MEM_free(groupName);% J+ D' g: p8 q* p9 N. ]
" Z& e; b5 S+ k' Z- Q, U; y+ S
9 k% }( c, @; ] l tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ W% m- e# X4 [0 A& s* r( X char *roleName = NULL;% s, S8 E* h1 {) p) Z4 q; l
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));1 w' d$ [; P& C3 u; \- v
cout << " roleName: " << roleName << endl;
# t- U! Y$ i% G if(roleName) MEM_free(roleName);
6 {* x( Y4 m) d/ ^8 w6 S
, W( k0 G1 r! \' d4 K! H logical isDba = loggedInUser->isUserSystemAdministrator();
% i% q7 v2 D. j/ `' _. B if(isDba == TRUE) cout << " User is dba member "<< endl;
5 A C3 n! s# h! d# f0 H/ M if(isDba == FALSE) cout << " User is not dba member "<< endl;
& I$ C4 ~4 Y' |}
. S. u, V, p+ n4 b4 b9 `
7 a- d& a2 V P# B* k! b) W7 ?+ i6 W" k) v6 D4 f# `5 L4 a
, `9 m1 X% G" B7 ?. _# c, ] F) j! `# k
* [6 Q' L1 Q9 ^+ q0 T7 u2 x7 j4 FTeamcenter ITK 方式:+ L$ c" D& ]/ o. T. ?4 ^
& [ ^; l" e' f3 Q% E7 o1 h9 M: a0 k" [
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ I6 v4 H7 l1 A+ c
static void report_current_login_infomation()
+ M$ z* k/ e; K0 S* S" ]8 I5 |' G{- `4 a: s& T# O1 @( [4 r
tag_t - t$ L: o5 n( l' S+ c; D" m
current_member = NULLTAG,
; T) S5 d4 b! ]. V: z current_user = NULLTAG,
& H5 w, i+ A* S* f current_group = NULLTAG, 5 ~) d- z L, v( d \
current_role = NULLTAG;: _' F4 Y6 B. r; ^: t: c* A/ q o
char 6 S5 a( G; d' C
person_name[SA_person_name_size_c+1] = "",; F& n/ _3 u+ O% _* P9 p. r! z+ ~
user_id[SA_user_size_c+1] = "",
1 _" _2 M$ e4 F' _: \ group_name[SA_name_size_c+1] = "",; B f+ T7 @" g: O# v$ F+ @ T+ \
role_name[SA_name_size_c+1] = ""; 4 ^# ]" M8 v+ E3 J- T; O* a
, ]: p# l; J% y1 p# C
# ]8 F( N6 q6 T; _$ D' ~
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));; w; x, u; W) v/ S
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));9 `3 Q7 ^+ i) u' j' M5 \" R; L
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));" u) C# h. y9 U$ F; A8 w
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
( k5 m$ {% g' |' v7 i, e3 D2 a' K/ O9 ]" @ M$ k: S
5 ]# h7 E' L" t. ^
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
! \5 i' V/ V" X. i+ c. B IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
, G* n( e8 n4 C) o5 x7 e9 C d IFERR_REPORT(SA_ask_group_name(current_group, group_name));& a( J$ _- V4 Q+ m" L+ ~
IFERR_REPORT(SA_ask_role_name(current_role, role_name));# Q2 i. z0 B% e* N9 P- g1 i
2 @+ `/ Z% G2 y5 z7 X1 k% U4 O! K( O+ Z( u+ X( w% `/ q
ECHO("\n Person: %s\n", person_name);+ B+ d- ~# B9 S! w
ECHO(" User ID: %s\n", user_id);
$ S c5 F$ r# w/ @0 K ECHO(" Group: %s\n", group_name);
2 Y Z7 w) O; G# A ECHO(" Role: %s\n", role_name);
/ ~& A { ?$ |# \, F}! {: Z3 E$ i: T" o0 H
, ?! G+ a$ y, [+ R
|
|