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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

请使用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(&current_member));- ^$ s: v0 z- P& t, d" w! J
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
% R) i2 _9 E8 a( G0 g" U   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
# {) N- i* K8 I9 L  d8 }" v    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_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
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了