|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
& U; q) A0 n4 ^. ?4 d$ R7 f/ l! `8 U8 H9 z) a3 F) `
& n4 |0 W2 I& E( n. WTeamcenter c++ 方式:. A F5 p) |+ {" }5 b! V6 B- L
; c3 S$ O' g5 `0 Z
6 B9 U P* `) U. x A
#include <iostream>3 j B* E- ]7 I) r. a% m
#include <sa/group.h>: [" b2 g5 o- r1 @% }
#include <sa/user.h>' x- x) |9 ^) u: N) B, y
#include <TC/LoggedInUser.hxx>5 N% X, t# |* p
2 r4 W0 o7 D v3 u, C
% {" e/ X; Y) Cusing namespace Teamcenter;
3 S6 B% |6 {/ f* Y- k) Qusing namespace Core;. V8 s! x' V7 @ [
using namespace std;" @0 m9 a* g& ^
: F' h- x1 t, k3 e
8 h7 H+ P; _( u) z9 D) B; `
static void reportCurrentLoginInfomation()
3 ]( }4 o1 w; F( d' [{
& J3 O6 T) ]4 T7 J. a d int ifail = ITK_ok;7 ^5 Y/ s, n. C
LoggedInUser* loggedInUser = LoggedInUser::getInstance();6 _* ^: a8 t5 F
$ s$ X( F4 b: ?2 N* r, l
tag_t currentUserTag = loggedInUser->getCurrentUserTag();" D+ F- m' L% i* L$ ~% S$ ^
cout << " currentUserTag: " << currentUserTag << endl;
5 R& k+ O0 | a6 o+ q) n , D) J5 c% B: x/ H& n9 `8 r! a
char *personName = NULL;+ W" e. C! C. L+ y/ a) ` E6 \5 B
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
' U* ~) F# ` m% [& E. k cout << " personName: " << personName << endl;
6 }+ C# n _5 e) o$ { if(personName) MEM_free(personName);
9 i4 v9 o6 @- k1 Y, O9 W
: q& \2 Z) `# h const char* userID = loggedInUser->getCurrentUserID();
' m4 l6 \% H, |1 s# K, `8 u cout << " userID: " << userID << endl;
! x) Y* e5 T! P4 b0 [8 m% ?& @& A$ q; O8 a! l6 x! n- ]8 R
4 t# d8 ]& l( k: i5 P
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();# o- q8 }$ o$ C+ {4 T$ g+ [
+ b8 h* W4 D9 u% T9 T0 N# L char *groupName = NULL;1 T' V4 {+ K/ n' U7 ^* V
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));6 O- e1 B6 ?/ t) s7 G# @; d8 b0 G
cout << " groupName: " << groupName << endl;. d: O9 N; ~# U
if(groupName) MEM_free(groupName);$ T3 W6 t$ @" {3 z
5 Q/ G# `( [' A$ x) D" W
7 ~4 j) | y$ }5 x tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
; z5 i$ O4 _8 m0 I) M X' s char *roleName = NULL;
. \& u# m/ p' v; T- K D IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));& N0 _$ ^2 `, s$ z6 `& j
cout << " roleName: " << roleName << endl;! n' W/ R8 P# d9 i& B
if(roleName) MEM_free(roleName);
* p: C$ w! k- `
3 R+ i5 L) Q( l, \& l$ t$ w logical isDba = loggedInUser->isUserSystemAdministrator();) n5 p( f6 P7 ] m2 G3 D
if(isDba == TRUE) cout << " User is dba member "<< endl;+ u! f* C3 j O% N
if(isDba == FALSE) cout << " User is not dba member "<< endl; ( h0 `2 T* Y5 o, W6 N
}
! J+ L" @7 _& R7 p5 a$ ~$ E& [! k6 P# }! V* Q
1 G) P7 k" G* [% B+ B; {$ @
! \( O5 C! l" L/ Z% W l3 T! N
- k) v5 @3 j' x$ D% u2 d
" S ~ I) q; z3 ]+ }; x& RTeamcenter ITK 方式: \1 U5 b" G# {0 L3 z7 O! o% }
9 |/ m8 d8 h( Q, i% m! b. N
! n/ t# n s6 l: p' c/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
- L# M% p; t6 t) D/ K) Q3 Sstatic void report_current_login_infomation()
2 Q. N m+ h( j. _$ N3 W, a8 w3 x1 N{
! Y2 n7 e$ h+ f5 K- m tag_t
, ?3 W4 [: p9 Y. y6 b1 j' G9 i current_member = NULLTAG, 9 D) ^* O; s2 Y# B- |
current_user = NULLTAG, : X* R: `; ^! j
current_group = NULLTAG,
- [& k. T& \- E- ^ W q; ? current_role = NULLTAG;
" ^, ]' j: Z% P+ y l char
/ k$ }/ r, {8 I+ ~2 g$ N/ N) ^8 M person_name[SA_person_name_size_c+1] = "",
. E1 ?) |' }2 T user_id[SA_user_size_c+1] = "",
) v5 ?! P5 C l6 c$ W5 a group_name[SA_name_size_c+1] = "",: a7 d# X5 Q! H6 L/ U8 t
role_name[SA_name_size_c+1] = "";
0 c/ p$ L# E5 I7 V
. v9 E' x' a3 Q' J8 i% k& L1 A! m& [% l/ F. k
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));) w- S }. `% C% O( h
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
+ L/ w! [. D8 t2 w& [0 \4 d- h IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
7 O0 W/ P' R; i% C' H s$ I7 C( t' { IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));. @$ X5 u& K4 |3 E4 K
! s/ {! s8 V& @
7 d V4 s. b5 V8 _
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
- J- x/ `$ E' ^3 X! ]6 W7 e8 G IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));! z1 r0 J& a" ^9 v% _1 f9 y
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
& E3 @7 J4 L% n% V$ X: | IFERR_REPORT(SA_ask_role_name(current_role, role_name));" y, B) q! Z! @. H( C
$ T$ D, O6 X- E% W& S# X& R% Y2 r. S: ?; W. @
ECHO("\n Person: %s\n", person_name);
' v% X/ N8 w' P1 W) Z O9 | ECHO(" User ID: %s\n", user_id);7 c- }2 f0 u9 |0 d
ECHO(" Group: %s\n", group_name);
: R2 ]6 q* ] D- V9 N0 a6 h ECHO(" Role: %s\n", role_name);) {3 w/ `8 `. t5 G
}% @: ^5 U$ X) k' ~( Q6 G
7 Z$ C3 c# L% ~ H7 ?3 d+ [
|
|