|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息* ~( M' }& w7 u; Z
8 |3 S- X- j6 E5 z7 h' S9 `8 l9 E
1 l" }. S6 R: {Teamcenter c++ 方式:& W9 U6 W) o$ J) u* M% o& L7 Q# k
. d; Z- X- z; x7 C) ?- l! }! \7 f
#include <iostream>
6 z$ y, T2 |' s7 @#include <sa/group.h>
1 H4 U" J$ R, ^% z* L#include <sa/user.h>
4 Q! [% r; D* R; Y" \9 U#include <TC/LoggedInUser.hxx>
6 M/ N) N/ Z* [! w+ I2 O7 z5 l* M0 V1 Y% U' C5 e; U. S
( }" W# L- o+ B1 P
using namespace Teamcenter;
: M0 e, b/ r6 X# gusing namespace Core;4 d1 |9 `$ o k0 d
using namespace std;$ l1 k9 p, R9 D4 j4 k6 a _7 O
& e" _& r$ {* \2 B. _6 V8 g( q: [8 V$ S% L
static void reportCurrentLoginInfomation()
$ W/ {, q3 ]2 t" o{
8 u7 {* }2 A5 ?( ~ int ifail = ITK_ok;
* h* C1 _3 b; L8 Y3 [ LoggedInUser* loggedInUser = LoggedInUser::getInstance();# k6 s2 S% D: ^; E! t
4 r$ @5 h1 l; O- A" n
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
o: G# E* Z; P: r1 {% Z" R7 F' }& W cout << " currentUserTag: " << currentUserTag << endl;
+ r1 Q! V" B8 t$ T, g9 Q0 h, D# i: R
# E9 F) W3 e) v# [ char *personName = NULL;
. J3 }1 L1 s8 n ^: n1 U' U4 O IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
# X' o t/ ?) K7 J, j2 ?, ]' I9 E cout << " personName: " << personName << endl;
% W2 i( n( u8 a; t8 K if(personName) MEM_free(personName);
4 W' q# t; @6 @0 e+ K
( A5 N* h0 V- `+ I/ i const char* userID = loggedInUser->getCurrentUserID();
. i! W2 N2 V) p3 P& { cout << " userID: " << userID << endl;
7 i4 \1 v/ Y2 z5 ^ o$ i
4 V6 F! _- J3 A4 n9 T7 P. E1 z: v0 Z/ v6 O6 M7 n l( V
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* m& w5 |5 b* j
# G: P4 o) B0 b B/ ~ char *groupName = NULL;' O2 L- Q+ H+ H6 T
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));- S( F, A' V1 m; x3 t/ l8 s' d
cout << " groupName: " << groupName << endl;
# @9 f8 H; j; a3 c& X+ b if(groupName) MEM_free(groupName);+ ^' B" H) `1 P. l) K
4 F4 O, u. R I. T$ l2 R# n6 u7 R8 N
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();) K5 ?" t" @+ z! T/ X0 C
char *roleName = NULL;2 V3 w' K( B2 U, b
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));0 L& u" d; \: k/ M6 L
cout << " roleName: " << roleName << endl; C/ A; f4 {$ M# b
if(roleName) MEM_free(roleName);
( C' I9 B/ X6 P ~, h% I( I1 e! ^
& a2 a1 f: B* y* I; ~7 g( ] R logical isDba = loggedInUser->isUserSystemAdministrator();
5 e/ r* O- d) {9 v' J/ U& g* u if(isDba == TRUE) cout << " User is dba member "<< endl;
" b, q5 D. q& R' q. j6 m if(isDba == FALSE) cout << " User is not dba member "<< endl; 3 X5 u0 a2 r4 s: G: f
}' L" p( S( `, X. G6 W; Q5 ^/ L
$ G( s+ F$ @* [2 O% X0 O* S
3 @# N' V5 ?* w7 w9 Z4 n# D! Q4 T
3 z) l3 I1 p. K
/ P. y& g' O% ?
6 ]& D1 f8 A6 z/ H4 pTeamcenter ITK 方式:
# v: R% Z: Z/ i! \3 p5 C& o+ L1 ~$ K5 _
" l8 V- J" E; t) Z5 O6 b% r/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */. d6 p6 I1 w/ ^& D
static void report_current_login_infomation()
6 o# Q9 V c9 l5 r+ X& \{$ a1 X" w, B& }! J& E8 D
tag_t 1 R6 z6 N' H. [2 o
current_member = NULLTAG,
- g) @7 k r5 z6 x/ { current_user = NULLTAG,
2 o3 g, e' x# I; Y! X# A current_group = NULLTAG,
! p5 z- b$ e- t' a) I$ w ]# g7 y# t current_role = NULLTAG;9 |; N- X- i$ I; f3 j, Q# {
char 5 J I h1 i4 X4 s2 z& |( Z
person_name[SA_person_name_size_c+1] = "",+ I9 C" r/ o" j4 |/ ?9 r! y
user_id[SA_user_size_c+1] = "",
. f) J$ E( z2 Q! V9 i4 e group_name[SA_name_size_c+1] = "",! p2 j* e# J1 D4 f! u9 }
role_name[SA_name_size_c+1] = ""; 2 C# Q1 o! r1 G' E V. }
' \0 M. s { z) G
! `8 A0 j3 h$ d! E$ x2 d, W IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
3 [, E) f: |1 X6 o7 s( { IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
9 b, K# f& C) p! E' X. v IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));! M0 \7 T! W1 M+ i. Y% b$ Q. c+ l
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));' T6 U+ m- ~' {+ N; P7 q4 e
Z) Q; W& N$ y- D; m
M) b' h/ T: J# A) f+ i
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
: b0 ^" B ~* S IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));2 C8 O8 U3 { L& M0 N
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
) a- ^4 A+ s2 E- [; L9 w IFERR_REPORT(SA_ask_role_name(current_role, role_name));
$ d! N! j# H' q+ }% o j0 n# c& {8 e9 C
2 E4 w% F& z* U- ^$ Y
ECHO("\n Person: %s\n", person_name);
' p: F3 k( t2 b$ ^5 I ECHO(" User ID: %s\n", user_id);
6 e+ l8 ^% Y3 ^/ j# k2 F9 { ECHO(" Group: %s\n", group_name);" U* @0 M/ @0 k9 v
ECHO(" Role: %s\n", role_name);
# {! R% f: V4 k, q- B& q8 r}
% q$ N( D7 D Q& ^, X3 M# Z2 u5 e/ R K$ W" x- }
|
|