|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
: e0 Z% k1 C! e; N! m' K! q
- f$ B( x/ {, Y2 |( C, n* T% M: M2 K' [) j5 X: ?
Teamcenter c++ 方式:
( J) A2 L- m: y F! g9 b- o: y& [6 u: m/ p
$ W( |. y. \# E- D0 `
#include <iostream>: z& Y! @: T3 ~% C* N& y8 }' Q
#include <sa/group.h>8 x: \ `5 V/ X( j) t; |- c# K
#include <sa/user.h>
' b1 n1 q+ i! d, `9 k( V4 C#include <TC/LoggedInUser.hxx>
+ h3 V% M2 |/ ^5 M4 U+ q
( S$ x9 H/ X Z6 x: c7 U( P
% d3 J1 M1 \, }2 t+ gusing namespace Teamcenter;
; T2 j5 E; S, s5 r9 S( eusing namespace Core;
5 G" X) H" W( w+ a" C/ Ausing namespace std;9 H! e3 w$ T6 c7 z, x' c
. s7 y0 H* ?# |% o3 v! O4 b, l
% z# ^& m1 c, J9 L) W$ @' p
static void reportCurrentLoginInfomation()9 F9 R, z: E8 F3 G; f, K5 m
{; a d% @# n+ i5 H" o. c
int ifail = ITK_ok;
& V- V. q7 m1 {" s% D! h LoggedInUser* loggedInUser = LoggedInUser::getInstance();' Q, j1 a1 K# _$ p* W! [
( v/ y: \+ k: b3 W4 t
tag_t currentUserTag = loggedInUser->getCurrentUserTag();& x+ E/ h; n8 f ?
cout << " currentUserTag: " << currentUserTag << endl;
0 `2 G7 u& `' O& w! D
7 W1 `8 C0 q! v: W2 ^3 y2 `' q( R char *personName = NULL;
. u/ W( e# L) i3 U. R* b IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));9 L g; a& G2 `( ~/ j
cout << " personName: " << personName << endl;
, e' M- c8 H$ s( I if(personName) MEM_free(personName); C- a. q1 ~) E3 ?8 F1 K
3 _7 u: N6 J$ R' W7 M0 v* e: l const char* userID = loggedInUser->getCurrentUserID();! i& y4 c/ [& z0 Q
cout << " userID: " << userID << endl;
! _" s$ d" [% |( I( i2 I! x1 d/ s, I1 Z! k7 Y/ n! i1 H7 _) J1 A$ {
2 y# U& ~% @- a$ V/ x& V0 ~ tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
) T* i1 E" E" e( I
6 l Z" V i: {, H% P; b, \ char *groupName = NULL;) N* S$ T2 I. ]! q0 O5 h
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));0 d: N0 }) X5 w' K8 u6 E3 L4 v L
cout << " groupName: " << groupName << endl;7 ^% ^; Q- g4 P1 h3 S2 w) v
if(groupName) MEM_free(groupName);/ g! F2 x' ?! k4 I, F: E- @# o% S2 y6 q
1 L; y4 A3 R2 Q h) @- U( S
1 G* @& s2 k7 X' a, x ^ tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();1 n3 B( P5 r- H( u ^, a
char *roleName = NULL;0 b5 x# F: H _
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName)); J3 I9 g0 R2 q3 j6 e2 }
cout << " roleName: " << roleName << endl;/ _7 s; K9 W* m i6 K& R5 Z
if(roleName) MEM_free(roleName);
* b; r; G* C* P% H L( l2 {6 N
7 M; x- q& e- x logical isDba = loggedInUser->isUserSystemAdministrator();* b( ]* M- g: S2 t7 c( a7 [
if(isDba == TRUE) cout << " User is dba member "<< endl;
& T5 m8 r d, Y& a7 M- f if(isDba == FALSE) cout << " User is not dba member "<< endl;
% b, P3 u/ | H2 `. H6 ~}9 G+ h6 b6 I5 V# z% A, p
! Q4 Q+ h6 {' e5 s
( K) @" B: i/ g0 s T$ l& n
; t2 a& l6 h- y; C* k0 ]2 _. P' S0 y& s9 ^0 Z" F& J/ p4 I% c
1 S) [" n2 s* J4 W T# QTeamcenter ITK 方式:
. ^- Y# H: n8 g- @
6 L' f( e/ I* n2 X; |0 a1 s# B/ n* f9 P- N: ]2 M, E* T& p
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */4 _4 B, l* J) E3 O* {0 u! }
static void report_current_login_infomation()
! c$ A( D5 q" b" m6 c6 K! A& t{8 W$ c0 C3 t; \9 d: l0 \
tag_t
. R+ s$ _1 G) @4 O current_member = NULLTAG,
9 t4 K0 A: K8 f! b+ B: v- t8 K current_user = NULLTAG,
9 k, H2 u4 F3 h: Q current_group = NULLTAG,
9 Q J" R+ Z. T# \; u8 x; z0 A current_role = NULLTAG;( C% m5 A& l, R O& m
char
2 n4 m5 }/ A5 N1 ?5 f7 C0 z/ o. T- v person_name[SA_person_name_size_c+1] = "",
' R& \+ d# R; {. q6 R user_id[SA_user_size_c+1] = "",
9 o1 _4 T K! g7 V8 {- L group_name[SA_name_size_c+1] = "",+ A6 d- U D/ T0 i* N- h1 s
role_name[SA_name_size_c+1] = ""; ) i0 b4 ~) |) i& N3 ]
! c3 n+ N; j: r: ]) O/ R! [ v2 Y' o" r& ~: h( W8 x& k4 \
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
7 y; R4 T3 S; g- ]' t7 c! r$ C IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
4 s5 _$ I `- l1 } IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
, b) f* R8 s* V, \) C- Z' X IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));/ ?4 |- C- L; w$ ?. {1 ~9 [! r
# `) l( ~. h0 R* W0 H, t7 U T
! M% x3 h1 T6 m O1 p
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" ]& N1 W$ M1 ]/ I: a8 }) y7 |7 u$ Q8 s* P IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));( ?# ]) c& ^; V; n0 H
IFERR_REPORT(SA_ask_group_name(current_group, group_name));6 `$ X: P# Y+ @+ A0 \) S
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
! J6 ?' i/ a! n( R1 ~
. r/ I; L# x+ |$ ^( Y% ?" L
. G# ?( p* I1 i9 Q/ X% K ECHO("\n Person: %s\n", person_name);
2 _, g% l2 ]8 R ECHO(" User ID: %s\n", user_id);1 E2 c. l9 X$ F7 ]; |
ECHO(" Group: %s\n", group_name);
, ^2 e5 Z, U( W) K# I( W ECHO(" Role: %s\n", role_name);
1 q& i- z4 n- k/ Z* C}
* R3 ?0 a- a. b; \/ _ R6 v
# N0 c: J, C$ @& E |
|