|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
R4 O/ p$ ^+ z) |) C. @
. Y$ T7 j# f* G$ T p$ S1 b0 E" R! I" A& x
Teamcenter c++ 方式:
2 t+ j z6 Z. g. y" z& B5 q0 l
; A9 Q" E6 c; Z4 ~" j' f
! _% D, ?" d A2 [0 J8 A/ @#include <iostream>7 E% W% }5 p/ v: d: I( ~
#include <sa/group.h>
2 \ t+ H5 s/ D#include <sa/user.h>0 k0 u( k$ N+ }4 o# f3 O4 [/ d$ m7 P
#include <TC/LoggedInUser.hxx>
" d1 ]! C" ~; s' P2 O' c* C! E& R' A0 L; x H1 y9 \( m2 N
6 y# ^/ {( |5 g2 Z X. Q
using namespace Teamcenter;
9 g, @7 F4 c/ s0 p0 @6 d. j% \using namespace Core;
7 W- P" y8 ~: A: f# d" Fusing namespace std;
" R. ^- E9 `( u. _% r2 N5 C8 J2 A5 O) o2 N6 V, ~; O- u
, P, t- D1 n* ]% ?( ]
static void reportCurrentLoginInfomation()
- y1 u( e$ ?. k: b{
6 q0 N; H' I& p1 B f int ifail = ITK_ok;* B/ e% x: E# U: w7 _
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
3 r8 r2 l7 _' E5 }* u: ^
+ u- L5 o+ H2 I9 n2 `6 N' _2 L tag_t currentUserTag = loggedInUser->getCurrentUserTag();
9 H% j. ]2 n. b( M. E cout << " currentUserTag: " << currentUserTag << endl;" G8 b8 y& j7 o
. O: D' O j7 d
char *personName = NULL;& f, ^7 N4 l( M
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
3 S& { _9 k s" j. l" i+ x! W% ~, Q8 n cout << " personName: " << personName << endl;3 j( l# i. Q* @: V: _
if(personName) MEM_free(personName);0 y) F: @6 d: W5 ]* }4 h
! G) {$ w$ s2 _4 X2 E7 C' j2 b const char* userID = loggedInUser->getCurrentUserID();
" K# ^7 r: X; T/ U9 F; a cout << " userID: " << userID << endl;
8 H* L8 N! H6 g% L+ d
6 h, X# I! i9 x5 s5 A
! |2 V! \- d) S tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();% q7 t' R9 Q0 v& W. E2 K4 l
3 L- Q/ U) l- d9 @2 F" y; E# J3 ^
char *groupName = NULL;5 C6 D5 e/ x4 k& O: ]2 @
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
r2 ] @! S- K9 J( N, r cout << " groupName: " << groupName << endl;
, l2 @( v. l# D/ m+ s4 c" l t if(groupName) MEM_free(groupName);
+ _' ]+ [) L- t- n( `
C8 h$ ]# S/ B$ R: |/ [9 V
" d& p: b2 P4 n+ @ tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();% Z0 p1 W: P6 w: V' y0 |
char *roleName = NULL;3 O7 I$ N8 v" y- |
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));( T1 O/ }8 s1 p, g
cout << " roleName: " << roleName << endl;1 c! _2 |( |" l" h+ ?
if(roleName) MEM_free(roleName);0 u6 f# F/ ?. V
* J6 U4 d9 w& u5 B
logical isDba = loggedInUser->isUserSystemAdministrator();6 X/ F4 a6 g' `3 N: V
if(isDba == TRUE) cout << " User is dba member "<< endl;& D) X% ?; V& b8 H+ \
if(isDba == FALSE) cout << " User is not dba member "<< endl;
5 j# x0 Y, s6 T5 d- C}
0 I' I1 ]+ A, ]$ s! S9 c5 P+ H3 m4 L6 Q/ o/ ^0 F
1 r1 f& Z1 @3 s$ L
2 f- J" t3 S- [& p0 \
% u( a# j$ g$ @, R; Z
; P( U' A8 L. N: m# k* iTeamcenter ITK 方式:8 {, ~- I2 @9 y
j" [4 O% U8 E/ v* v6 h( g
+ N* A1 E7 W+ ^! b
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */" P, v% `9 ^2 \, R( K4 P
static void report_current_login_infomation()7 x* m; ^* z) t _2 F5 K
{5 c x$ V5 W' l; l
tag_t 3 |# ~3 N& t7 H; d
current_member = NULLTAG,
: o# h, Q! W0 X1 Q3 \ current_user = NULLTAG, 4 g3 r& e2 x" F q$ T/ D: f
current_group = NULLTAG, 7 `3 u- f1 s/ T+ i! E* E
current_role = NULLTAG;: k$ h1 _8 Y/ H3 M1 H( g
char
/ M; ~* K5 t$ j person_name[SA_person_name_size_c+1] = "",
' n+ @ L! p3 ]8 ?4 V user_id[SA_user_size_c+1] = "", / o; R. g( d* w
group_name[SA_name_size_c+1] = ""," C/ A! C7 s$ S. v! V
role_name[SA_name_size_c+1] = "";
, K$ }/ \- p% V) ~! I
& i+ k- o) p0 [: s/ M! g2 F# Y" n0 f, F: U. v
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
( f* ?* u1 s! e( N% o IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
% u1 n9 Z: u8 J% h IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
- C3 A* J" V! G9 p' `, L IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));' ~ ?& a6 e5 o$ G# j( }
' V1 T: S. y; v1 u. c2 E
, J7 [& } d& Y2 n IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
7 @4 L& S; {$ T* c: ~8 b: w IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));0 x5 w% y5 J& h" F) s7 M
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
2 P' v! J- H9 d* I* x IFERR_REPORT(SA_ask_role_name(current_role, role_name));
3 |* j) y5 b; ^6 G
- A8 t0 y9 |( G3 i/ a0 s
" ?6 I( z% Z* I. c' o0 T ECHO("\n Person: %s\n", person_name);
; B6 }- m1 ~) d6 T/ N1 \+ G9 W7 n ECHO(" User ID: %s\n", user_id);' r7 K- b5 P+ {8 D2 H
ECHO(" Group: %s\n", group_name);
1 `# \! F T- P) w ECHO(" Role: %s\n", role_name);
. ^6 ~, n6 K* j3 B}4 u+ W- `; H/ ^
/ E- q, q; o; p0 G- h+ _ |
|