|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息
1 e) Q0 P9 r& ?5 Y) a2 y$ u8 n/ W3 o8 E1 z
8 R$ {/ x# o5 H6 \- b& [4 f
Teamcenter c++ 方式:
5 I& M. i8 ?+ k
( n0 t0 b! V' x' \9 e" E8 E4 u+ t0 W9 S' p" l5 B9 J- T1 v, Y
#include <iostream>) C$ Z; ]9 A7 D: K. ?7 }+ f
#include <sa/group.h>
8 R( J, }$ e( C- l$ _- S2 ]' d#include <sa/user.h>
! d0 H' ^: s- T#include <TC/LoggedInUser.hxx>' A% c% P0 Q8 c: z [
# J* _3 l! d, d; z5 U% D
9 B- \! {6 o) D0 B' A8 Eusing namespace Teamcenter;- K' g5 E( n/ G" u7 w/ @/ X% T
using namespace Core;
9 y1 O U# t6 i3 _using namespace std;
( V4 c) [" {4 H4 t$ h: K/ U
* s, @# e, A' E7 N1 B+ h( `, w; Z; ^! r+ e
static void reportCurrentLoginInfomation()( x4 b9 a/ [+ V6 F* G- I: }/ }
{) k% R! w" V: Z! A' \" y! r2 {
int ifail = ITK_ok;
/ p l# i& z8 ^ w" | LoggedInUser* loggedInUser = LoggedInUser::getInstance();& u; ?/ y& P+ ]8 @$ {# ~/ K
Z; V. O' _! c2 ^% K" h0 @
tag_t currentUserTag = loggedInUser->getCurrentUserTag(); V/ @: }7 e$ B3 `4 d
cout << " currentUserTag: " << currentUserTag << endl;
2 w% F/ l7 y' Y1 Z 1 r# S1 y* i4 T a
char *personName = NULL;+ z+ M0 W' ]6 S: n4 u
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 N9 X7 T7 r9 ]$ w7 t cout << " personName: " << personName << endl;9 x* R% o. S K" n9 [' y3 p
if(personName) MEM_free(personName);
3 c9 J2 U$ D J# S$ d" e1 ~6 @" D 5 n9 \0 A. q! H
const char* userID = loggedInUser->getCurrentUserID();
+ I$ G8 S9 f7 D4 m* E7 P cout << " userID: " << userID << endl;
0 a7 g/ t7 P& k2 _$ {5 X7 t& u% h8 m, z! D' L5 F. T
+ l7 [8 \$ X/ ^0 Y( E. Z tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();* B6 R# I5 O+ z/ _& O5 Y
1 Z3 g3 P+ x# a7 N% I& p0 N
char *groupName = NULL;
5 ] z$ a% e' I, m% W1 y' o# s5 z! H IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));$ k$ ~ ?$ v& R. z1 Y! W* A/ o
cout << " groupName: " << groupName << endl;+ e% r' _& j+ O% x. q
if(groupName) MEM_free(groupName);8 z% u7 N: A E, }
* m4 c- j9 f0 }. m: L. \) @+ K4 P; T- }- }) |8 O
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 {' L6 F+ w( O5 N) a" e6 R3 b char *roleName = NULL;/ s# k# T) g4 Y, Z
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));! X; G3 w6 N- f
cout << " roleName: " << roleName << endl;
& [6 C m0 @; P% M if(roleName) MEM_free(roleName);
* v1 `5 M: @, u4 Q, e
) |4 }6 z* Q; @* g logical isDba = loggedInUser->isUserSystemAdministrator();
* `$ ~2 z3 N+ b if(isDba == TRUE) cout << " User is dba member "<< endl;, I% f: W/ c1 A$ Z, w0 I5 m
if(isDba == FALSE) cout << " User is not dba member "<< endl;
8 t9 @( H. X3 f& }- Z. [! s}
, V/ |# Z4 i2 q1 o/ A& `
* l/ t. n4 C5 _5 U) a# e3 \, h D
; U0 ^4 H! v, N9 k% P+ g8 e6 P' y
5 w4 a1 M/ A; f: ] Q r# l& T; t3 M
# X4 P- n4 ?; ZTeamcenter ITK 方式:+ T7 d& O- ]% r$ t% _; x0 v9 D
! X: }, }2 z# z; n6 e7 r [
$ M' O& {: }& y! M; l- ^/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */ O! m7 A, O( C" m! e* ~6 z6 Z
static void report_current_login_infomation()
- t0 T& `$ J: _{
" `# Y& e7 ]4 H7 X tag_t 7 d0 ~$ r: |- G! |2 x( y
current_member = NULLTAG, , z; l' B8 T4 M" S. R
current_user = NULLTAG,
) N8 f7 g) [ z5 N4 B( ^% A- G current_group = NULLTAG,
- ]/ H: E+ O& b; b) ? current_role = NULLTAG; l) k4 g, p, N6 T$ b
char 2 \% t/ f5 m" W" I/ I9 q7 @9 U
person_name[SA_person_name_size_c+1] = "",0 p7 V3 G, }" Z( W
user_id[SA_user_size_c+1] = "",
: o7 T" h% r4 ?! P) k- W1 z. W- w( E* k) M group_name[SA_name_size_c+1] = "",
, i; k' U9 l; s# { role_name[SA_name_size_c+1] = ""; ' I! e" z. ?1 @
! l: l, d n. B" h! B
`+ c( ~7 L& W' I4 l, w2 B
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
" s9 A9 o4 i1 c! f6 C% } IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
' t% v8 \) }" R) E- `3 B IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
/ ~6 ~1 N5 b6 `7 g' @+ u IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
2 W7 m6 \7 }) I `/ n: b: b4 Q) Q# U+ t, Z! T9 `5 i
8 f! ^0 o( J4 b7 E+ X$ g$ L IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
d# j1 p/ Z; n4 J! E; z. D: G IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));' s4 l4 a- g, K
IFERR_REPORT(SA_ask_group_name(current_group, group_name));) `2 Z9 r/ h' h: o
IFERR_REPORT(SA_ask_role_name(current_role, role_name));# }) l# y; X' [; e2 R9 d: n4 D
. H# b, @. R. g. T6 X
/ d [9 I& T/ z) w# W6 | ECHO("\n Person: %s\n", person_name);
- D6 O( l+ a3 T5 ?9 ]4 z6 w- Y0 Q ECHO(" User ID: %s\n", user_id);% Q) q1 I1 o& Q' z
ECHO(" Group: %s\n", group_name);7 H; i& s- u7 g! R
ECHO(" Role: %s\n", role_name);! V }8 E* Z) i( [
}
' _! ]3 V) Y1 ^9 U; A3 U) G7 }. K
+ S6 C- ]" F3 d# y( d |
|