|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
% N: c- S G; h1 e% Q: s
5 x) h3 ?7 X0 O8 I$ F, I; A, B2 H
% M- v$ I3 J0 K2 Z: x% @/ k- qTeamcenter c++ 方式:
( C1 m- s3 z1 J# y( u
$ W( X/ u$ J+ g8 |
9 u9 Q3 q3 m5 O- N- b#include <iostream>
4 W& P0 V" }3 V, g* T#include <sa/group.h>
2 A$ j3 W' B: B; s1 H9 e: H3 s2 C1 N#include <sa/user.h>
# x9 c- @( [' e2 @, Y#include <TC/LoggedInUser.hxx>1 ?- `+ o$ C, r5 s6 d: }
, g4 B- m2 [' `7 Z9 i4 Q
# f" j+ C8 ^' _; R+ O; b" Yusing namespace Teamcenter;/ v# ]* p9 v1 W& O& v6 P# R* e' d$ v9 _) @
using namespace Core;
. T+ O/ U! l, X. @+ O ousing namespace std;
; m f" P( O2 Q6 d
7 @2 W Y7 z0 ?! p9 J/ X9 k
9 V. g% O: D0 v1 L! ?" D4 ystatic void reportCurrentLoginInfomation()- i, h+ g% P" q; U- ]* b2 l
{! T$ F0 o! ~) A" T3 W
int ifail = ITK_ok;% ~# \; |! S3 D; i
LoggedInUser* loggedInUser = LoggedInUser::getInstance();2 a9 \* u$ j7 b4 p3 c6 m5 Q) `
1 G) ` Q% |+ Q8 F5 H tag_t currentUserTag = loggedInUser->getCurrentUserTag();$ `. Q: I4 h; [8 w
cout << " currentUserTag: " << currentUserTag << endl;
0 X$ C: N' V$ @# E4 A: t9 I
) `& Z3 G. Q1 e( E6 I2 I char *personName = NULL;
9 p7 y, _& g; B7 ] IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 A- s _" k2 M, ^- U' T cout << " personName: " << personName << endl;! R! N f* j- h5 g
if(personName) MEM_free(personName);0 g2 A. A' E, P
- I* r& o' O4 B d" f/ e) v+ K, M5 s const char* userID = loggedInUser->getCurrentUserID();3 J& p# O, V" W' U3 r
cout << " userID: " << userID << endl;
- l- C1 U* j v$ _& y/ {0 t5 N' U j1 O
# l/ s. ~- N5 @6 e6 a- U6 `
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* b$ L9 y: ?1 J i, ]* G- G1 B) X1 N
8 W3 j) d; Z( J2 u, R$ t char *groupName = NULL;
/ o- V$ l3 W6 I5 z8 Q, _ F IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));- f" ]- o) W0 Q4 G
cout << " groupName: " << groupName << endl;- n, o- H Y9 n' d" @7 t* N4 k0 j; X
if(groupName) MEM_free(groupName);) a, ]( I( N M& R: l. [; E% L
: n8 K1 S$ z/ c' u* W' U- M
, U4 v A9 z" a6 K2 ^6 J# Z tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ o0 E0 t9 w3 s8 Q+ c7 u3 G char *roleName = NULL;4 K: [/ Q2 t0 p' _7 [. H" r3 ]
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
$ `( k9 {% v; i cout << " roleName: " << roleName << endl;( ?+ t9 I/ o0 I4 F
if(roleName) MEM_free(roleName);
: ^# ]* J4 r8 f" G8 a
& d0 | }! _2 I/ k& L6 V logical isDba = loggedInUser->isUserSystemAdministrator();
# N( P3 `3 M6 K4 K5 |8 b0 Z$ e if(isDba == TRUE) cout << " User is dba member "<< endl;
& V9 |4 H( K. H" c& P# d if(isDba == FALSE) cout << " User is not dba member "<< endl;
% a" W+ n: h- b; e6 \3 k' ^4 c+ }% ^}8 A* R2 E3 X, e3 G" P2 M
- }2 e6 |- _7 t1 W+ z$ J1 s2 t
/ t* j# z, |) y( K9 r! q
4 b" k8 q, [5 J: h8 i' O- w
* D9 Q- c3 X* Y# O# J' M
2 h1 l9 E* F* N; b0 ^) s7 ?Teamcenter ITK 方式:
& s U! }, y/ |, c( J& z) J4 Q9 Q( M3 a' n9 c# t
0 y7 w0 b7 i K/ b! m# M/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK *// s: O$ ?* m, r" i0 T5 J
static void report_current_login_infomation()1 b+ O9 V4 v& b/ i- u* @
{7 m) F5 }1 I1 u; @
tag_t
$ S' y9 Q1 B2 Q current_member = NULLTAG, 4 ^& |% X% Y) z4 I! l$ g f: M
current_user = NULLTAG, / F( e4 _$ \7 K& o0 E6 i0 ]) c
current_group = NULLTAG,
7 m j7 {& f! E( g current_role = NULLTAG;; _. p4 t. N: E8 ?) t5 ]
char 9 }- \# ~* a3 Q5 c- z. U
person_name[SA_person_name_size_c+1] = "",
, y/ G: |5 E* Y4 k2 x+ H2 U8 |8 v( w user_id[SA_user_size_c+1] = "", ! g; F% J6 X2 o8 _( ]# Y4 T" R( e
group_name[SA_name_size_c+1] = "",/ L( R' ]5 N0 q* T8 y. r, L! m( f
role_name[SA_name_size_c+1] = "";
' n8 q- g$ n: p0 I! z
) W) ?2 ], }$ s; z7 a g) X; Q& }$ N
- _, Y6 p1 V; L5 D IFERR_ABORT(SA_ask_current_groupmember(¤t_member));- ^$ s: v0 z- P& t, d" w! J
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
% R) i2 _9 E8 a( G0 g" U IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
# {) N- i* K8 I9 L d8 }" v IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));7 r+ A( E, ?7 F6 A/ G4 Z
: t u( i3 E! @8 `. W4 I/ y) R9 y/ c U+ T. o- h
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
- e$ |* J) o5 k8 h/ ^ IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));& j1 O( F! A* _3 \ p
IFERR_REPORT(SA_ask_group_name(current_group, group_name));& z, ?1 S" p. k" t6 c
IFERR_REPORT(SA_ask_role_name(current_role, role_name));8 }- }( S6 n7 s8 I, Z; J
. K1 q0 V) ]3 l' r- Y: g2 m4 G" {0 g" M
ECHO("\n Person: %s\n", person_name);
' h* e7 N/ m, |& w4 I7 K9 T0 R0 G ECHO(" User ID: %s\n", user_id);7 A" [. ^3 p& J
ECHO(" Group: %s\n", group_name);6 h% U4 T2 x4 L& M% @9 {
ECHO(" Role: %s\n", role_name);
9 z/ s b2 U6 w4 W# U! | E}8 G( H5 |$ ^- I# t. _
; F6 G% P! r' y4 C1 q |
|