|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息& l0 N# i3 F) o! _1 j8 [7 r; Q
# w+ y' c/ \; C5 H: V' s- k5 C# v1 g, R
Teamcenter c++ 方式: C/ L7 L: K2 k$ `
8 y1 B9 b f$ i* J c" n' h. D. m" ?; i& C7 P$ b8 n. K
#include <iostream>
* a. V; d. `; M) p% |7 Y# g* o#include <sa/group.h>
, E3 s3 J0 q4 i#include <sa/user.h>
1 c) l# p, U! G |#include <TC/LoggedInUser.hxx>
* U+ c; x- a, ^7 \3 d$ v8 ^8 n" W) F; [$ S5 ?2 g( A' G9 e
0 c& Z* M) |5 V d7 n7 L. dusing namespace Teamcenter;# V7 f2 F0 H- L$ ^
using namespace Core;4 S7 ?& H4 s: p4 ^- d% n. Z
using namespace std;* B. |' ?' W- t, x$ d- k- Z
5 X* P( e l# Y R$ l3 t. Y: k; s( p: l6 L/ e! l8 X% W9 C
static void reportCurrentLoginInfomation()
: C! r2 K0 J; P8 ?% k8 V{. J; U# t6 B$ ~% K# S4 Z# b
int ifail = ITK_ok;
; q# @3 y \$ [' x9 w3 E LoggedInUser* loggedInUser = LoggedInUser::getInstance();& B$ B0 ^* s5 S. r- N4 m
9 U Q W# E' j' s
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. e/ L4 `3 Q" a( B, A cout << " currentUserTag: " << currentUserTag << endl; ~$ n2 R+ |6 M8 `
+ \% U# K2 h( j* a' G! _' P+ z
char *personName = NULL;
+ q3 |2 H1 |9 a Z IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));" m! v' F$ [0 v3 G: B2 f, ~' I1 T; ~
cout << " personName: " << personName << endl;# d: Z- O* b! m7 O2 ^: n0 i
if(personName) MEM_free(personName);/ l) _( Y* f; n! c& W7 [
4 V% l; U% w6 x1 ?% m/ r) k
const char* userID = loggedInUser->getCurrentUserID();' h* l& }" P5 P: c, ~
cout << " userID: " << userID << endl;
# ?4 E) g( T7 O
8 G0 P, y9 t" _2 c% k. V, V& @0 k# d& _% u! U' S8 j. C7 L: @
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();" T! g+ u# `, P( C8 _' x
2 [2 A) ^9 N6 ~" U- g char *groupName = NULL;
8 [4 R9 ?: C$ U" i; [ IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
2 c" G8 O, Z& q% v/ s8 @ d cout << " groupName: " << groupName << endl;3 a5 a9 y2 ~) L K- y
if(groupName) MEM_free(groupName);9 |" F" _1 R1 p
! N+ k3 D$ {: Q" `: c/ w' y
3 S+ O C" R, {1 i
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
7 A0 G7 a& L, T$ k( ` char *roleName = NULL;
4 e& [# T+ O& T1 B: V" v/ x$ T IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
2 k) u! G& T3 D/ d" S4 k" J. R. U; h cout << " roleName: " << roleName << endl;
9 |: ]) d7 G; ?9 O. T9 @+ ]6 F if(roleName) MEM_free(roleName);1 a6 Q7 E$ N* p B
+ s2 E/ c. z9 S I% I3 Q4 V7 v
logical isDba = loggedInUser->isUserSystemAdministrator();& E; Q5 O4 }" {: X* v7 ]
if(isDba == TRUE) cout << " User is dba member "<< endl;
& T4 l" [7 f4 C" {4 D8 a if(isDba == FALSE) cout << " User is not dba member "<< endl;
. T$ a1 \) C9 ~}6 F7 U$ w. n$ l
4 x- E, _( v) |6 l7 {
+ L7 @4 k9 b7 Q/ R/ [7 c
0 u# j7 z1 F) n! O0 Z( {( B+ k6 U5 S# `# f z% s
+ e: F! G- R* u2 E" nTeamcenter ITK 方式:
4 l& T) ?, U5 W, o5 S/ \3 _' v2 I4 o
- o) m5 h9 F4 s
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ B; D; U, L. W
static void report_current_login_infomation()
) T' a1 z0 l: |{! {, A$ \2 D5 f5 ]0 n% Y
tag_t ) A' i: L& J3 z4 M# l2 ^( O) O
current_member = NULLTAG,
+ x9 E6 I" r; s7 c5 v+ s current_user = NULLTAG, ' _9 M; p) D+ Z: g3 w
current_group = NULLTAG, ' J- s5 w# d6 y: L* a
current_role = NULLTAG;% F+ z5 L$ f% b, y
char
8 U+ B# L7 b; M- ~& \* f. J6 S person_name[SA_person_name_size_c+1] = "",
% E4 b; E2 O4 N, p. { user_id[SA_user_size_c+1] = "", 4 V7 W3 i9 ~3 N8 W) \* X! L" I
group_name[SA_name_size_c+1] = "",
- q: F2 J M4 l t, {$ P9 j6 ?' j2 w role_name[SA_name_size_c+1] = ""; . v9 @- V+ A0 B2 }
+ O( i! H* p1 L/ B" B z# N
7 I) S' I. w q2 m0 F
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
% t6 f. e! h6 k) V IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
! V0 q2 t* i' S# @6 v IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
* I, p, U0 x4 W' B IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
9 }7 j; q0 o9 u( i% \
) y1 b7 t, h8 z* [! A4 O' n
: g% w: t2 B; W# }8 P IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
6 f2 }* Z3 s, a5 {9 \( v IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));, _7 d; n" i# d6 ~
IFERR_REPORT(SA_ask_group_name(current_group, group_name));1 u; q% c( A& S, V3 y1 a/ v v
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- d5 Y6 B* ~& p# N8 f8 {
, t5 P/ l5 A# v. m& Z* i/ z" [( G5 ^( \% A1 q* c2 S8 N
ECHO("\n Person: %s\n", person_name);2 i8 j6 a* x0 H3 c+ ?/ g' j8 q
ECHO(" User ID: %s\n", user_id);' s7 ?1 K& m* I9 d# U$ z7 L
ECHO(" Group: %s\n", group_name);4 t, Z4 R& j# I/ \# V @ f
ECHO(" Role: %s\n", role_name);
, t6 }. h4 ?3 _# D}
, B: G, ~) }2 \$ ^5 G" o
5 h" f; ]( u2 \ f3 r |
|