|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
" F) \( d& d4 M) [* P n6 Z0 c$ R r2 u9 U2 S' {1 D
. X- H/ @" e# E' w: S4 MTeamcenter c++ 方式:
4 i1 b6 A! a% X, d7 C/ i/ F: L2 ?1 A3 t" ?, j
* k) H' B- n% A" D+ h4 b6 C. z: t#include <iostream>
0 y' a$ C1 i8 s& F#include <sa/group.h>
- ]" @; u7 e! X- i7 y1 E#include <sa/user.h>: m7 B! ~' l% |: A/ B. U; d; W, H
#include <TC/LoggedInUser.hxx>
. G' _2 M, A1 Y
- Y: l; Q& ], J( b& p9 ^( M! R" h& ~6 M0 X( G& @
using namespace Teamcenter;/ _6 B% d: b$ L& ~+ \
using namespace Core;
# S- d7 o- D8 e% D1 Yusing namespace std;, W. J% Q {, C/ ?& K' s$ U5 \8 i
4 e5 D: w+ N3 C1 c: O# ?' e& p& @
0 i( X. j3 W5 S* B- bstatic void reportCurrentLoginInfomation()
0 ?2 u# L- y4 i2 ^$ X2 ]{
' s& d2 d9 U' X q" X int ifail = ITK_ok;
6 o6 d, W X. k0 w. t+ u4 A* q LoggedInUser* loggedInUser = LoggedInUser::getInstance();
1 V {+ p- o7 J$ {- O! f6 T: ?) H8 F 2 H1 H" {% X8 P
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
, Q4 F& E8 V' c/ K5 e4 | cout << " currentUserTag: " << currentUserTag << endl;
! H' l& \+ t% e& U$ E4 n3 j/ G
6 n% n+ P) t. x8 w K) r char *personName = NULL;. t" E2 P4 n# _. l9 Q2 n
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
4 {" R$ b! G" ~+ A: R# i8 H1 R cout << " personName: " << personName << endl;
- r* @# I& T7 E3 F' B* ~# U! o; S if(personName) MEM_free(personName);
" z$ ~1 H8 _, O/ z! T# }
/ _ \; [8 y- u2 V9 W1 n7 J const char* userID = loggedInUser->getCurrentUserID();
: x- u$ g) a( z- Q$ [ cout << " userID: " << userID << endl;1 a+ y3 _4 g( P( v9 l; ~+ ?1 _
4 m7 A* `0 c' f X* O
: b: X# y/ v+ \+ {
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
4 }# q. V# }6 z- x/ u% k, r 6 a) {$ w) U. X1 C2 L: \0 {
char *groupName = NULL;) y& q8 B0 e7 E: t a5 {
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
+ l8 Y( M4 Y5 o cout << " groupName: " << groupName << endl;
{% Q$ v0 \: J% k0 A if(groupName) MEM_free(groupName);
* i+ T0 O7 x1 f3 `/ x$ v, A
1 l, @2 ]. r) {) C* @8 d
8 z+ `: M: X5 Z5 z ^- u tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();7 G. D3 _) v1 m5 T( |/ y) }% A0 z
char *roleName = NULL;
7 u: A' d% G& Y5 ^- w IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));0 d; u7 ?( ~, Z" c9 K
cout << " roleName: " << roleName << endl;5 u* L; m7 p; b( K, U
if(roleName) MEM_free(roleName);+ l5 @" L1 p9 {1 J \, w/ v- [' U
[2 a/ [6 |1 K6 T9 q% `, F A9 i. f5 e4 H logical isDba = loggedInUser->isUserSystemAdministrator();
9 Y) h- E& o& ] if(isDba == TRUE) cout << " User is dba member "<< endl;
, Y/ `: f1 R2 r& D2 A$ v) e if(isDba == FALSE) cout << " User is not dba member "<< endl;
/ j0 s$ I/ {" T9 R/ ?! {}
1 ?% @( T# ?4 r! Q6 Q# ~* r. J3 d q/ F: `; k+ a
" V0 }/ W6 x" k4 r& h( D: ^4 b3 F- \7 e( Y0 ]
, ]& l; P8 F5 k7 Z$ g4 F4 P' o/ R" z. R
Teamcenter ITK 方式:9 h z4 g2 \; Y+ a& V
% T. n* K" D( m3 l% ^) G
3 `, f+ n! P z; G F/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK *// h% h ]) \# u+ E
static void report_current_login_infomation()
* H: N$ a3 ?/ B4 Y/ x- v{ m O% a( S" a. C) [
tag_t
! x6 z5 g( V1 U: L current_member = NULLTAG, ! h5 v" V8 g& O& h$ D8 g
current_user = NULLTAG, : H/ x8 L; Q: x( R% T* v9 G
current_group = NULLTAG,
8 Z/ o" C/ }- |, U0 a% ?' c current_role = NULLTAG;! w( x; [1 I; J: H# _& V) s
char
" c& [1 Y' S! n5 G! W, G person_name[SA_person_name_size_c+1] = "",3 q5 ~! n# z, j' C+ L2 I
user_id[SA_user_size_c+1] = "",
" Q2 y1 J9 j, U Q5 Y7 l group_name[SA_name_size_c+1] = "",7 f0 ^1 Y) g/ o( O g
role_name[SA_name_size_c+1] = "";
- L; Z4 R! {8 |( l- c( a( v8 p$ v' b1 ]* n& q/ H6 O" n
2 W2 b+ @4 H, `; g8 j# t
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
$ v# ]9 `: T/ C IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
* R ~, g5 R: ~9 u4 d IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
$ Z- p; D- Z* c) R0 Q0 [! G: s IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));( x* E, ^( E; k% K
' k/ q S2 R* s. j, h% R1 V
6 x1 [7 D, Y$ ] IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));( |1 l, m) R* p' f, ~" K, N# u
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));: B$ I+ O) A' y1 D; }% T
IFERR_REPORT(SA_ask_group_name(current_group, group_name));! M5 v9 e* ]1 U8 `
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
3 D: G2 p; c, l' @+ t. i9 e E; ?$ _; z4 d' I
2 h1 U7 S6 F! x9 B6 ^6 m ECHO("\n Person: %s\n", person_name);4 Q4 p1 A# y3 l6 C! q, i( t- ~$ R8 Y
ECHO(" User ID: %s\n", user_id);
( c3 }; I8 i3 q$ \ ECHO(" Group: %s\n", group_name);
. ]4 f% t/ \3 p, u ECHO(" Role: %s\n", role_name);4 o* M3 O- v6 Q9 a
}
" E$ X9 o% x. t7 }* K3 \1 ~# ~
/ A0 S% j9 C0 O; Z+ [# f |
|