|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息6 E( c9 ?7 P3 b7 Z1 a
6 Y& _ Y7 a N: j" q" U) B/ u3 X
Teamcenter c++ 方式:
/ V) F9 Q2 D1 J2 \) y/ i+ b, t: ^
$ n2 Y. \" F7 }& a+ k: k1 y$ B# j' a$ W& Y" e0 t
#include <iostream>
1 ^* D- O- t3 L; `#include <sa/group.h>3 {5 Q" `1 a2 X4 P
#include <sa/user.h>
# }8 h/ m+ f/ e9 V/ y#include <TC/LoggedInUser.hxx>$ n' l/ p+ a8 W! N, q2 W
0 }' v. c, E; b9 M2 U' O. R8 `9 u) N* M3 F( W& f$ y6 y
using namespace Teamcenter;7 a. f) c0 f3 h5 ]7 \2 k0 k- ?
using namespace Core;
$ O0 ~4 u; q5 a( N8 e1 p% Zusing namespace std;
% }3 U) \/ B/ Y, o z
/ U; Y1 i( }1 \+ `% H( G
7 s3 G* a a, z, @static void reportCurrentLoginInfomation()
( G! I: [3 Y# I# W9 g; B3 f, k{( A" d9 X- ~# t9 O) k
int ifail = ITK_ok; F& V& D% |5 @/ n5 v& |
LoggedInUser* loggedInUser = LoggedInUser::getInstance();& S: T, a3 m) S
/ ?! F( ~- o4 R8 B! E tag_t currentUserTag = loggedInUser->getCurrentUserTag();) e# d- C# W3 Z/ u, s* f3 @
cout << " currentUserTag: " << currentUserTag << endl;
5 Y: u! S& N9 c1 J$ J4 e 6 S3 r! j; s2 W3 f- A4 t1 q% b6 R
char *personName = NULL;
4 c9 F: v0 h3 r6 j3 A$ c) Z1 Q9 A2 z IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));$ ]: |, Q" Z) l8 \ T3 D
cout << " personName: " << personName << endl;* Q! l7 m% r9 h, n0 P9 ^4 F& D
if(personName) MEM_free(personName);6 }% r& t0 d2 p& h
8 H4 j% w0 q- D const char* userID = loggedInUser->getCurrentUserID();
& B+ \5 z8 L9 C$ X cout << " userID: " << userID << endl;9 q2 s" W2 U) ]- b
/ q! r9 [3 A% F6 q8 \0 a7 o9 O
0 W1 q( j' x/ k$ ^* J, h$ m tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();# w( R& O: ?$ D
8 o. }2 X9 V6 l2 z4 k: s4 ]
char *groupName = NULL;
$ W0 F* o+ s/ T3 A: p2 [$ D2 o IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));3 t+ T J6 O# z! _3 `2 I% ]! ^% Z& R
cout << " groupName: " << groupName << endl;1 u. c) d N5 O; c2 N- h) H
if(groupName) MEM_free(groupName);
# g; s$ u' l) ? p! A8 m5 H# Q9 @, u
, a/ b" B* I S+ M1 l" s# i; D5 p. ~4 S+ x
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 y% f# ]0 Z' `: V2 t8 u: _ char *roleName = NULL;
T( l6 X5 C1 s. @. l IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
% F6 @, U3 V/ \4 G/ ^# F cout << " roleName: " << roleName << endl;# f& x/ ]: `2 c8 F; D& k
if(roleName) MEM_free(roleName);
6 e/ M9 C, {! u $ [. y) z5 R4 k
logical isDba = loggedInUser->isUserSystemAdministrator();" _- B0 t: h0 S6 }/ A" K
if(isDba == TRUE) cout << " User is dba member "<< endl;% f6 u3 _5 G' \/ v
if(isDba == FALSE) cout << " User is not dba member "<< endl;
4 T+ d1 k$ C/ L0 q9 G}
, }6 ]$ y" C G8 u+ |- k( N
! H0 A; j+ F5 ?1 M! s6 ]
6 G; G: m+ t. p/ z% p( n; P3 A1 Z9 I9 d" J
% @# b2 @* P# g$ W8 w: ^7 Z
* j5 p0 R. w7 {+ lTeamcenter ITK 方式:
d% Z) \) x- D/ F- w% R8 _4 z J# F7 _5 y
( [' f! t" w* ^' L$ f8 U/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ _; K% z4 K3 _+ ?7 j& X
static void report_current_login_infomation()% F; Y: ~# q! \5 a
{
( {0 z( d7 b$ N tag_t
/ s; F. P/ p; q. N; l current_member = NULLTAG,
. w$ }% z, v% F k2 i1 s2 d current_user = NULLTAG, ) V8 e& k% _" N* s
current_group = NULLTAG, - B6 W" E/ T' k, Y* r! d) m
current_role = NULLTAG;
: i4 G7 M7 j3 I ?% M% s char & r8 c6 F4 j$ `
person_name[SA_person_name_size_c+1] = "",7 K e$ G w; j9 |, @
user_id[SA_user_size_c+1] = "",
( E/ j' F5 S3 d group_name[SA_name_size_c+1] = "",8 S" l! m; M M$ g
role_name[SA_name_size_c+1] = "";
+ H7 n) _- j9 x) X4 q# D4 J( u' s; S9 q
: F* n" l7 a: z. G' c0 K
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));0 ]2 {& R2 ?$ _2 f6 `9 w' p4 y' E
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
, f! W8 [( q8 [5 l6 P IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
. N% n8 X# T+ s IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));( c+ q# L, @' A
% K0 Q i0 e. ~, c, R
0 @/ h% f! y: o, L1 @! b
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
' O" y9 a- Y% y% z IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));9 h2 @( g/ f9 y& z! y
IFERR_REPORT(SA_ask_group_name(current_group, group_name));: T! U) I$ _1 E7 w w
IFERR_REPORT(SA_ask_role_name(current_role, role_name));+ {/ S0 k6 k' s+ ~4 \
. m5 m1 A% ~5 P* V" N
; }' j- U3 L9 ?6 D* p! {" Z ECHO("\n Person: %s\n", person_name);4 W1 Y+ a% a" C' [1 H1 i7 y( Z
ECHO(" User ID: %s\n", user_id);
- T( E, q# M* H4 |5 o/ [ ECHO(" Group: %s\n", group_name);( b4 v' ~% X1 x& T6 ?, C4 i
ECHO(" Role: %s\n", role_name);
# F; L4 n7 T% Z" }! W9 ]( u}
( U i$ C* d1 Z+ b3 G! n) c. I$ y
! B# {( `' r4 s9 `' O/ F3 e) ~ |
|