PLM之家PLMHome-国产软件践行者

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

2017-11-20 13:49:47 3004 0

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
Teamcenter二次开发源码分享: 报告用户登录信息
. I. t3 W4 l5 ?" x5 O; R" s* B* l+ `9 R6 T5 R% s
& \- c& p' T$ z4 @0 O; m8 ]
Teamcenter c++ 方式:7 J8 t! Q$ V1 O; m( M

# F( M/ M$ ?' r$ ]  {! `5 C
# x6 D4 I" a4 `0 F
#include <iostream>
, }4 C0 i( R& `% e5 u& Z/ p#include <sa/group.h>8 c# r. E7 u$ z# m) ?3 B; I
#include <sa/user.h>4 J3 f& o; F% `" v1 K# T
#include <TC/LoggedInUser.hxx>
1 M) T+ F- O6 T, ]; l2 J- q6 n! w9 h6 l- {+ R# Z) R4 u

& h) E: e! k0 s5 @2 i% Cusing namespace Teamcenter;: C; o1 O% j  O0 l9 U8 P
using namespace Core;
: D: M1 l) ^* W% f( Gusing namespace std;) X/ I: |  [5 u4 X- j. _

$ Y3 b1 V7 I% K& x1 e6 J  A2 C

, x) J+ F6 v; C) W' Hstatic void reportCurrentLoginInfomation()( q8 B& _) v8 w( V9 X# H
{
, @& F$ D- }+ R. f! \: r    int ifail = ITK_ok;# p: ?0 D( `7 X) E& }! l7 V' W
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();+ W" a) `; z. N! G5 j
   
2 J7 v1 m7 K; D' M    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. |) z! \! j% }. b- e+ _* e0 j4 D    cout << "    currentUserTag: " << currentUserTag << endl;
( F9 }! B, C* V7 o; D    + u/ \7 N3 V$ |2 L5 S
    char *personName = NULL;
( Y8 f9 [/ U4 h: F+ e: w- B    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));9 j0 D& L+ B/ b/ p2 {) J1 N- _
    cout << "    personName: " << personName << endl;
1 q; ^4 \  {3 u% e5 Y; S6 e    if(personName) MEM_free(personName);% p: F* A8 H  P+ E2 p- A4 P, F
    8 _0 i/ u. |' m- A: `3 G
    const char* userID = loggedInUser->getCurrentUserID();+ |- U, U3 X$ G* l4 S4 p
    cout << "    userID: " << userID << endl;: Q& ]% a2 {3 J4 f
% S! i$ h7 o0 r) W( |; G: Y5 z

$ J7 s  q$ b( X9 m    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();% z6 \7 o5 ?8 E  N) t; `$ t1 f5 O
   
0 v# I2 [( n" W2 k0 K    char *groupName = NULL;
3 o  f6 l4 V& g. l- Y2 X! b    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
' _5 T! \; M( B# F3 }    cout << "    groupName: " << groupName << endl;3 H; Z: x- M" O; D  B$ w
    if(groupName) MEM_free(groupName);, z- M- g& H, T. x2 O3 F( `0 f

( o  D" [; L; w- N, k9 C% j  b3 [

2 ^8 w( e; w  A8 A6 a0 T    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
2 s, A% `# b7 |! e+ o    char *roleName = NULL;
. r4 `( b7 g( u2 f' z3 y    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));2 f8 R$ h$ L( M" X' P9 C
    cout << "    roleName: " << roleName << endl;
0 X' w9 o  U# P0 T( S5 X    if(roleName) MEM_free(roleName);
/ ?$ Z* Z9 S& ]& e4 X# p  @0 ^    % |' w. X7 r5 \7 h
    logical isDba = loggedInUser->isUserSystemAdministrator();
. |) F( F% w& c    if(isDba == TRUE) cout << "    User is dba member "<< endl;& C* N" D( T! O3 L
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
; G( x7 l# i9 E2 M5 T: v# i}
2 R$ a9 `. C1 d! t9 }- U8 r/ |, m0 |  z, r
% H2 L2 S$ s- ^0 h% {' i; X; b7 [
0 x- L, k1 d8 J& i- L9 h
+ ~8 p0 h  @$ e: |  B, H
# J) ]$ W0 G, S( b& p9 ]
Teamcenter ITK 方式:# v9 [8 l. g9 J! @1 D2 E" i
7 s' \5 H* O; |; l/ ?  z/ x. y
+ D4 a1 E( z# G1 m2 Z( }6 l
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */1 l$ {: \  G) [- k, f# k
static void report_current_login_infomation()- l& E. }) r# C2 U
{8 `; _- y& D2 [4 t8 f& v! d
    tag_t
  Y$ D, ]: h+ g8 J2 V        current_member = NULLTAG, + G1 C3 A1 L7 S6 t
        current_user = NULLTAG, 6 z; d: \) y% i5 w7 f
        current_group = NULLTAG,  
1 @2 b2 U. s6 h7 ~+ o1 Q! X) t$ R! ^% I        current_role = NULLTAG;
5 q+ f& q' l+ p/ o$ E" n& W    char
# O6 o8 a6 B' I5 {        person_name[SA_person_name_size_c+1] = "",$ ]7 z; N+ l3 c  R9 U$ F* t2 K' n; L
        user_id[SA_user_size_c+1] = "",  5 W2 s! S  w# c7 p% k3 p
        group_name[SA_name_size_c+1] = "",4 O5 m. s2 Z: R3 d
        role_name[SA_name_size_c+1] = "";  
8 l/ G5 b$ ^2 _  ?6 T) ]. I$ ?  W. A: k( t- E

. x( I7 V0 F4 q$ V% M  b: ]# X  h    IFERR_ABORT(SA_ask_current_groupmember(&current_member));+ N3 B, o9 i/ Y( I
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
# o6 g3 W9 z) J" o   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));8 o* S/ ]6 Y; Q& t& F$ V
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));9 h, ]9 J# _3 v  ^& W0 [+ T
$ @  b3 ]' x; g0 g5 N

4 u/ t! H9 X$ Q  N' n/ D3 f5 k. V4 o    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
2 U9 g# P$ X1 K6 e    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
- N6 Y' z! c9 f, a* a' a    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
5 B, _3 v* O( R" s# y" A    IFERR_REPORT(SA_ask_role_name(current_role, role_name));. p. N% l3 B' N0 }2 Q6 R
1 N$ t" Y5 v3 w3 \; H/ {8 p/ f5 v

* L% @- h  b, g" e    ECHO("\n        Person: %s\n", person_name);! t$ G3 q) T+ b9 s. `
    ECHO("       User ID: %s\n", user_id);
" z: M. l; U1 Y- x& x    ECHO("         Group: %s\n", group_name);/ J' b* P: B1 p8 X
    ECHO("          Role: %s\n", role_name);
3 d# k, E) Y' B6 Q3 j+ W, v}4 F/ Y3 z9 a0 z/ H: ^9 u
+ T1 V8 l1 ^  r' O' E
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了