|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
. ^( k# B% T$ Q: k, C1 ~6 l4 q5 k" T
, M% V$ b+ R8 p5 `, F' h9 KTeamcenter c++ 方式:
/ b7 [ \+ t4 V& u5 c( U# t6 l% x7 p6 X/ r2 N
+ r8 o$ z2 Y- S' l
#include <iostream>- G( z" J: |0 h7 A1 F
#include <sa/group.h>4 y7 W. E; p+ `0 m0 z4 h; I2 J
#include <sa/user.h>$ r; g' ?2 L& T7 h- M
#include <TC/LoggedInUser.hxx>
" v' s. X( g' }. L" e9 R6 N" R, x' O4 E
0 J( a1 u: ?* Q" m
using namespace Teamcenter;* f& Z1 }4 n: G5 b+ U# `
using namespace Core;
/ E+ v, E4 C! h8 u" ^7 O- Ausing namespace std;
1 c$ ^% A: _, M1 n* w4 o# M Z6 q! h2 B) n* O) v& m$ s
# m8 c) V( q0 a |
static void reportCurrentLoginInfomation()
' r0 m" p+ ^, {- R{9 v$ i9 q$ ]5 P6 w+ O. b E
int ifail = ITK_ok;
+ c7 R, p" S6 ^6 N% B- i8 ] LoggedInUser* loggedInUser = LoggedInUser::getInstance();( `% B, U0 |. J) G7 Z
, d2 t: p6 f+ |& }6 {( ]5 D
tag_t currentUserTag = loggedInUser->getCurrentUserTag();7 o4 Z n( C, s! Q
cout << " currentUserTag: " << currentUserTag << endl;
+ ~& Z& u: U& s* G! w3 ^5 C% R % H# e" n( X1 T- H- w
char *personName = NULL;
u$ u6 N; Z1 o* ? IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
$ N! A8 h! ?9 Y F- P cout << " personName: " << personName << endl;8 b; C' x$ a! I- Q2 W
if(personName) MEM_free(personName);
9 R0 l6 ~& [" D" E: G
! o! `, A1 C& U const char* userID = loggedInUser->getCurrentUserID();
/ _2 v& O( g9 ]1 U. E8 K' p" t cout << " userID: " << userID << endl;& j5 L$ G2 k0 V5 t5 t$ G2 B
) r. X" ]; O, _; D5 Q ^" E' u) R9 n2 v9 P3 K! O( K
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
+ V6 Y, {) {1 }6 \ Z K- I( ~2 v8 f0 X6 |* Q
char *groupName = NULL;2 ^: F! Y0 ~7 f
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));. ~! y6 r2 H0 U7 i
cout << " groupName: " << groupName << endl;
3 D! O; R) q2 q: I if(groupName) MEM_free(groupName);( ?+ @: a) i. s% |7 ^
, k0 H' Y3 d6 a+ U8 |. y1 B$ P+ k; o% [; m6 R% T
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
& g5 l" P" U: X4 m, F" b8 _: u char *roleName = NULL;% k4 D2 Z7 H" \( ]" Z9 C
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
3 c- d- R% J9 x& @$ H: n6 ? cout << " roleName: " << roleName << endl;
- }; f1 G9 [( m4 h" R( Z if(roleName) MEM_free(roleName);/ i* g6 |1 H/ s! N- x9 K
. g/ }' W4 D) c: b0 y* z logical isDba = loggedInUser->isUserSystemAdministrator();/ S3 O! ^' \1 c+ n" m
if(isDba == TRUE) cout << " User is dba member "<< endl;( c+ H' r S) o, b4 C: T% Y
if(isDba == FALSE) cout << " User is not dba member "<< endl; 2 d. h- V% d. V9 {) L# H* J
}
! L; {% W- q' }2 o1 W4 u! B
" m3 i3 w9 z1 b7 @! h/ \* E
- c$ `* s) E6 [# }
9 E* Q/ M% W( o! b9 C+ b3 b
1 q; o) n3 y; Q" }/ [- M+ S& S& p m
Teamcenter ITK 方式:
+ i* V2 B I3 s+ T& R7 ^# g# V1 f- W" Q7 G7 v; r
( [+ a3 a7 \4 N! y+ j0 O
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */" b( w, ?' F4 T" g* R% x3 I
static void report_current_login_infomation()' z' e- t1 X3 `/ _( u6 T4 u, A
{
; @. h+ f2 n. P tag_t
0 q& D/ M: e, U) B3 s current_member = NULLTAG, ! H1 u6 f& ]( s1 U% G
current_user = NULLTAG,
# m1 D# A& L3 U } current_group = NULLTAG, 8 G _7 s$ S9 a a0 Q* H' x w
current_role = NULLTAG;
" s3 r' n" E$ f( z4 U/ } char . g R" U, L) h9 L: [
person_name[SA_person_name_size_c+1] = "", s1 M; W, {1 Y, q7 S$ e( g
user_id[SA_user_size_c+1] = "", 5 u5 S" w- e$ _9 H
group_name[SA_name_size_c+1] = "",
8 X9 W$ `: ]( i& j6 p% w* e role_name[SA_name_size_c+1] = ""; # ]1 h6 m, p9 E$ W* O1 k8 S
- F6 P( j+ ]: L5 I5 {" Q# w0 h0 h
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));! v5 `$ t3 g& f+ o2 f2 _
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
$ m! s, x" l& L7 V, Z IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));. g, r9 c B: [
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
% Z+ }4 V% t& ] \# \6 n! _9 y
5 g# S5 t, M, k" }- `( \9 v% v9 F9 O, g! U2 U# L f {8 }/ s5 U
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));6 x5 C2 L5 }5 ^
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
3 j9 A/ V0 P* ~8 c" }% Q" D8 e IFERR_REPORT(SA_ask_group_name(current_group, group_name));
6 V) W4 y6 l% Z( B8 V* M) y2 S IFERR_REPORT(SA_ask_role_name(current_role, role_name));& `/ c3 K$ y. i* }, V6 M
: ]* C$ b. r5 l
. I8 s; @* V: u* S% y0 }
ECHO("\n Person: %s\n", person_name);5 S* R; G, n) e$ b
ECHO(" User ID: %s\n", user_id);
9 H$ D5 D' e) G: ^: R1 c ECHO(" Group: %s\n", group_name);) Q$ S4 h6 D" [- _
ECHO(" Role: %s\n", role_name);
' s1 _$ f7 U# D6 u1 ^: w8 C}( W* q2 M/ c9 Z/ L+ L
' e! X1 o* H4 i; t# {5 _* r/ X! Z5 e
|
|