|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
E( g& [% Z) Z
' h4 M' `8 w4 \: {! u; [Teamcenter ITK二次开发源码分享:创建自定义文件夹$ n9 o. _* X- z7 O/ I
输入的第一个参数是文件夹名称,第二个是文件夹描述。
0 o& L7 _, ~7 K+ E- B/ t( E
: @$ p0 l! L) A' C- n/ u
9 C5 [: u! N: ^#include <TC/tc.h># o3 _8 B4 a, D$ S
#include <tccore/aom.h>2 p) D. j' E/ y7 L
#include <tc/folder.h>9 O6 {6 @( K3 B6 d' T# X; V
#include <tccore/workspaceobject.h>* F( Y6 n. f' w/ ]
5 I6 r( D! P) j* _1 ~#define EXIT_FAILURE 1, T9 u" ?2 K6 n% q4 J- T5 T. r6 w
5 }+ M9 j5 u6 P7 Y- G5 b& Z& Jstatic void report_error_stack( void )
$ X* Z+ B/ o7 B9 `# s+ C8 f {: H! f8 l: ]9 S4 ~& q2 c/ l; w5 o
int
$ l1 q2 x( M% T, g! u. r- N. O n_errors = 0,
. E2 K- U3 d0 s/ g w( O i = 0;
% S! ~5 n1 @! r3 _7 \1 m const int
; L m+ T R" s4 p *severities = NULL,3 `; {% E8 e. S$ e
*statuses = NULL;
5 G/ x( w, W7 f% Q8 m3 U const char1 d( \8 {! `7 _" O4 e
**messages;! a3 k+ B, R' j+ K' ^3 ?1 Q: k
( v, Z$ x. ]8 Q. F4 f EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
8 H3 L: r1 h/ O printf( "Error(s): \n");
. N, d0 w: y# B3 o% N( R. [ for (i = 0; i < n_errors; i++) 2 P! B( N4 a! h5 m
{3 f/ @: Q3 K) g; ?( Z+ ~: q
printf( " %6d: %s\n", statuses, messages );
9 l9 n2 z! I L- V0 s$ w }# \ h6 H) Y. q! N
exit(EXIT_FAILURE);
: i9 v) T ~( d7 S% d }2 q+ @, m% }2 q9 V
" x1 r$ \1 M _6 T- S3 Z( D* S Lint ITK_user_main(int argc, char* argv[])( U4 i X. d$ Y% A. S
{
& G$ b& {: [# `8 s: c% O int
4 c$ G* o/ a2 u7 k/ M/ k status;
, _2 @ t2 Q$ @- {: g char
1 C, u3 A. V+ |6 V4 h( f folder_name[WSO_name_size_c+1],
7 s J ~ J- L& @( M fldr_desc[WSO_desc_size_c + 1],# w0 q+ @ C! s5 B/ B3 G# W& J
*message;
8 C& S2 o, `- g% E- u1 q tag_t7 P0 L/ m2 S) _6 |
new_folder;/ e0 C2 M- g: ]& \5 P
; K4 P5 h' v. u" B" l% ? w7 g" Y ITK_initialize_text_services( 0 );( ^1 g, T1 C% @- z4 l
status = ITK_auto_login();
5 D1 i& |: V( C2 F0 _$ t. G3 P if(status!= ITK_ok)
0 E \+ }! V7 b* t) w, T) F {8 K4 d* J* d4 t7 }
report_error_stack();
3 `# S N3 B- W8 D9 F2 j9 O3 |. d }$ A% a H9 V2 I5 h8 O
else$ A f- z* {% s8 k
{# {9 i4 N; j) E' }8 b# {/ b7 a
printf("iMAN login successful.\n");3 P2 e# E) q1 p: P6 ?/ f
}
& q/ X; z2 Q D6 B$ O6 J, D; m1 J5 m% |
ITK_set_journalling(TRUE);5 c& @: P8 w" e3 w: B6 {6 K5 ]: i
% e2 {9 Z$ p7 U8 [- K% i( r if (argc > 1) strcpy(folder_name, argv[1]);
& W6 S+ r1 f5 e else
X% x( _& o+ t0 ` {+ ~& k @- B" |5 W0 a
printf(" Specify the Input in Following format : \n");7 m& J/ l8 U9 I$ d/ l
printf("program_name folder_name folder_description\n");! v4 Q; l. q; G( f* w( p$ B7 Z7 M4 T
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
/ X/ N/ @) V/ f8 w. f return ITK_ok; 7 h( S, D5 @5 Z3 o
} $ n2 c. E/ t5 [) ~, |3 ^
0 ?& U% p) s, M$ A: K
if (argc > 2) strcpy( fldr_desc, argv[2]);
0 j: O3 ^+ t: @ else strcpy( fldr_desc,"");# c3 W$ H6 Y" I2 h" r. O/ O7 | W
- E2 b# U! a! Z( w status = FL_create( folder_name, fldr_desc, &new_folder);
- w6 F) k; s l7 t4 O# l if(status!= ITK_ok) report_error_stack(); 1 r( F# ~! m A. I
; c' g M# I! [+ E status = AOM_save(new_folder);
' _7 {5 {4 T& p# V/ O2 n( f- r if(status!= ITK_ok) report_error_stack();
3 c5 ^; y! C+ M0 E. P else printf("Folder '%s' Saved; ", folder_name);: V1 [( J! M; Z! w
- {" L; `. @2 S2 f status = AOM_unlock(new_folder);
: Z; n3 o# P1 p Y1 I- F if(status!= ITK_ok) report_error_stack();
4 N; r2 w9 l6 H7 t% U( ?4 P n+ K" j+ I else printf("Unlocked; ");
5 o3 k5 k5 A" }3 u2 @/ b! `
! M/ Q# A, f# S status = FL_user_update_newstuff_folder(new_folder);" j2 ?+ `2 C$ ~0 D Q& q7 h. S
if(status!= ITK_ok) report_error_stack();% \( \& D: ~4 j# ?9 @
else printf("Put in Newstuff Folder.\n");
7 a2 W5 @8 f7 X' u- C
3 g6 {, s/ |6 \7 B ITK_exit_module(TRUE);
$ A+ L0 L2 v' `6 A return status;
) C( z5 Q! D0 t, _, ]2 _} j5 F$ |. y8 h; l
|
|