|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息. A( W. q) T8 ]0 R: s1 K* U
9 ?( P5 w7 s) d. z, }+ J; Y+ a
0 o- r4 r* W, P: vTeamcenter c++ 方式:6 h4 B; W0 F' X4 y7 u
! D; ]+ V( l4 Y8 o: x
0 f8 ~$ ?# d7 m4 ~ m) U#include <iostream>
" n: y" r& P8 A# e8 V# F#include <sa/group.h>
$ N, n0 ~- b7 F#include <sa/user.h>! u+ I; L+ ]7 C9 d
#include <TC/LoggedInUser.hxx>3 L7 M8 a9 t7 A' o* i# F. q5 ?
4 ^6 y. `9 @ {$ L. e
2 N! ^( L6 ~# {% q' M; y$ E+ G
using namespace Teamcenter;8 C$ V% i1 I- C0 b, K G8 A
using namespace Core;
1 n8 [0 r% f9 K. K) N$ t( iusing namespace std;* [, h6 l& y+ V' A
8 \! ~6 Z$ o$ w7 m! a4 g- M4 i1 L2 W+ R' D+ I8 ~, T; Z
static void reportCurrentLoginInfomation(): G R+ ]" b7 i& z' e
{
" ]% x* l+ i$ B1 X4 | int ifail = ITK_ok;% c' o( {- W: ~" H
LoggedInUser* loggedInUser = LoggedInUser::getInstance();2 L; {( P+ L' ]
6 N/ ~2 F* U2 F
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 J2 H) c; s+ g2 Z' Z! j: k+ D cout << " currentUserTag: " << currentUserTag << endl;; _: X$ G& L& @5 y5 W
) @2 f4 \& L- L
char *personName = NULL;' N' m" q) r. a8 j, M2 C- ^2 u
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
; T! s; t# @! D7 j: S cout << " personName: " << personName << endl;
7 }2 S. C% r0 z" T0 g- f @+ V if(personName) MEM_free(personName);
' F$ Y x* r2 r6 F5 \4 k. N. Z ) W+ \! ?' a8 J0 G9 \% b1 T
const char* userID = loggedInUser->getCurrentUserID();
: I7 Y4 T$ F3 H `' z# ?* D9 W cout << " userID: " << userID << endl;9 Q) L' \, a9 t: u2 f: K. y
" s/ [; I6 Q+ J# ~1 |7 K
# p) [5 Q; D- G! Z+ s1 Y
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
: {0 r& k6 N# v! Y0 U+ H9 P0 s- V: k + j+ Q( ?( L( X6 C9 j
char *groupName = NULL;+ b3 b% \" Z* Y7 @5 W2 u9 m' D6 F
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ r# ?% I4 [0 Z% F( ~4 X: r cout << " groupName: " << groupName << endl;
6 `# }% r$ ^, b) O3 E- F" b if(groupName) MEM_free(groupName);3 Y" i* ], N1 J6 Q4 S3 U* J
: y2 M# z X- p3 t/ c
# Z1 }2 P8 k2 t p B tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();2 S# Q6 M2 d* U0 n8 F0 D, u
char *roleName = NULL;
) u" U) Z" c% n2 o1 ]. ` IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));: ]4 k+ i+ o9 k
cout << " roleName: " << roleName << endl;& Q/ ^& D% C4 o' d- \- [
if(roleName) MEM_free(roleName);
" v7 e8 z: g# n4 L4 R- ^ ; c. f3 v! s& ^5 D; N
logical isDba = loggedInUser->isUserSystemAdministrator();2 O! {0 f! t( f% V: P' }6 e; Q
if(isDba == TRUE) cout << " User is dba member "<< endl;
. _% X$ O7 ~9 u) r) D; I if(isDba == FALSE) cout << " User is not dba member "<< endl; 8 E( `: v8 K" w0 O; h
}! c+ e; V8 _+ t6 P* ?7 z# A' `2 F% R
& P) w6 J- j) }' m2 k6 U2 d, z& S3 m6 G$ @5 @4 R0 z# l
* Y3 i2 G/ L9 y' {1 d
]/ u" G9 w+ N( O6 H& @. v0 y; S, H x8 m5 z% \0 q0 r5 F8 S
Teamcenter ITK 方式:
; c3 b T! F3 k9 F& Y
8 L' O/ S, E; ?* ^
: g8 q, G l6 R# C! H* l/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
: z4 R; i2 }$ H# P9 H; Mstatic void report_current_login_infomation()
* C! b0 \" D* t% F' f{+ N3 E5 l' O0 J
tag_t
( x$ O4 i# m' c3 A, i0 a4 ]& s current_member = NULLTAG,
, R2 P* f; M8 `7 _' C* o3 h current_user = NULLTAG,
7 \" ^% J8 v5 g$ u& s8 l current_group = NULLTAG, ( D7 M& Y7 [( V/ A. f
current_role = NULLTAG;: |" ^" C0 H6 V9 j/ ]2 e
char 7 ]9 p. V+ I7 L3 l
person_name[SA_person_name_size_c+1] = "",* @" n- s: B+ S6 l; _
user_id[SA_user_size_c+1] = "",
, o/ B! q1 {: ^* r& G5 T& ^0 H group_name[SA_name_size_c+1] = ""," u" s$ U5 c9 j/ P9 g7 x
role_name[SA_name_size_c+1] = ""; 6 B5 j4 c- B. D! |' o$ m
$ h: y2 Q& L. q: s! A# _# S) l7 Q% J* X$ i% |! f# o6 g
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));( w) U+ J3 L3 W: {4 ~
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
* G4 [' |* E$ z# x' L" c IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));6 U5 F$ k' ]; A* Y5 e* A
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));, ~" w1 v- \0 @+ f6 n
8 D: e* Z" Q, I9 u: {- t1 Y- U
- n2 ?! T4 Q( r' `' x( v/ W6 s) z8 ~
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));1 G. @- H+ V- g/ [0 i
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
# a9 r! g; r" U( w IFERR_REPORT(SA_ask_group_name(current_group, group_name));
- s8 d5 O1 E5 J IFERR_REPORT(SA_ask_role_name(current_role, role_name));
0 M w2 ?) Q k: L
9 z( [- W5 e% U% o, A- O1 t/ i4 m$ F* F& @
ECHO("\n Person: %s\n", person_name);
# o" l5 B7 x& s& P ECHO(" User ID: %s\n", user_id);( T T% }- Y( L6 F
ECHO(" Group: %s\n", group_name);2 `! p- y2 b+ @% [3 o6 |
ECHO(" Role: %s\n", role_name);& H/ l* u: q/ O; k
}8 p8 @8 G3 e( W: r! n5 ?4 e
4 ?( w, k( Y+ ]
|
|