|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 v/ L0 F3 U& e7 \& C7 o
! i2 V/ q6 s) m# [Teamcenter ITK二次开发源码分享:创建自定义文件夹9 C P, \ Q. l/ m6 O
输入的第一个参数是文件夹名称,第二个是文件夹描述。
0 Q' L; ~% a% m' R3 y% o0 F4 |1 ^* G L1 Y1 ^" T
! i6 V( K& ?1 M% m: F/ Z#include <TC/tc.h>' L7 Y* ^% S: j" V
#include <tccore/aom.h>
! \' C1 V- a/ A2 L- J5 F" L' b#include <tc/folder.h>, z" t8 U, N9 ~5 g1 N3 E( P7 ]. C
#include <tccore/workspaceobject.h>& u4 k" ]9 O1 }( [) h6 @- V
8 C3 Q9 w; w" h, C/ m0 x: D
#define EXIT_FAILURE 1
* i: [' ]* X3 l4 a. E, F' l
0 G' I8 x& p$ A. xstatic void report_error_stack( void )
! W$ t6 J) Y. y1 x/ X, V' T/ k; c, t8 A {/ B- Q- [$ E ~% C* ]" J9 t
int5 ~+ d) w* z/ w# S- _4 `2 M
n_errors = 0,; n" A- C; C( w/ N. z
i = 0;5 J9 O! _/ S$ |4 z4 H
const int
7 @( n/ Q2 X7 {0 n: f *severities = NULL,
. S) H5 d( F" S( x( G4 C+ l4 Z *statuses = NULL;
& x$ C+ L! l( `% Q% X$ A+ O4 w5 W const char) ^/ G; \; k* _+ e' l4 G
**messages;: f0 x, M& s4 ?" [. ]
9 y) D" k4 J+ d# J! ? EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
; H8 [$ m! y) ~! u" D4 J printf( "Error(s): \n");
( [4 `" A0 F* x' ~- B for (i = 0; i < n_errors; i++)
4 x/ j* O1 A, _( ^4 V {
9 d( ?( V7 U. Z& n7 c0 i printf( " %6d: %s\n", statuses, messages );2 V1 q- h. c6 f5 i0 v# I# Y
}( Z- g L$ X/ C
exit(EXIT_FAILURE);+ a/ d9 J- z9 D+ P" C0 L6 E0 |3 L
}! p: k W* k: c: H @% w
/ \( d" c7 H P. O% z' o& @int ITK_user_main(int argc, char* argv[])
4 [7 g$ f9 d# A o( V& Q{
$ y8 t# f0 P0 b" m* V int( Y4 o& M6 W% Z
status;$ B# A2 T$ I( I5 ^4 Y! H" G: t1 l. p- M
char
' M; M! \% l& F folder_name[WSO_name_size_c+1],/ F6 I$ O; R+ b0 i8 `) T0 E7 k; U
fldr_desc[WSO_desc_size_c + 1],
% V4 d. @5 y! s0 G7 z4 Z6 u7 W4 _) j *message;1 t$ Q# [3 r% y/ p
tag_t: G1 K5 C& n. w+ @, ^% g6 J Q4 @
new_folder;
" g! @; [2 C. T: i% s* o5 ]5 i
. l2 K" ^4 q* J ITK_initialize_text_services( 0 );% ]! Z- n7 T6 u2 d. c: \- e7 a* _
status = ITK_auto_login();3 g7 f9 B+ Q: _+ Y7 {4 @( I: R* K
if(status!= ITK_ok)# y4 W6 l D, f# ]7 l
{
3 c3 U1 n6 e% X+ `. f9 v1 f7 X report_error_stack();
6 f! W3 I- g3 M2 K }
- p! f- A4 Y3 _( r& s- a else& h% o2 q$ o9 k, P1 |( T
{' Z! r5 ] ]2 m, }
printf("iMAN login successful.\n");
0 a$ W7 o/ c. p' s }
$ @4 W$ L9 }* M6 |* _
2 ]0 [) O: ] X ITK_set_journalling(TRUE);) K) J! V/ I$ z8 k, i
" z' O6 q0 v- a0 U3 I7 h if (argc > 1) strcpy(folder_name, argv[1]);$ j q: q. }8 ?+ L. g( j" z+ b
else
+ m/ k! r6 y3 N& j. r {
% S4 f, X3 r# D1 \$ C4 U! P: v4 U( B printf(" Specify the Input in Following format : \n");5 _$ p! @; c! q+ q4 l6 w K& q
printf("program_name folder_name folder_description\n");
t% W# L9 Q, r: y* P1 a0 e printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");" A/ l2 s" E/ \1 a2 z- E2 g
return ITK_ok; 6 u4 G, i8 E& W5 D; j
} , t. n4 y# j5 d$ s: A6 P
, u+ B( w3 H+ O, H9 C
if (argc > 2) strcpy( fldr_desc, argv[2]);/ ?) e9 S: N( n8 y0 a
else strcpy( fldr_desc,"");
& L7 W6 t. I8 i. s4 h9 U2 I9 M2 G7 L/ Q( C* Q3 H
status = FL_create( folder_name, fldr_desc, &new_folder);: s1 i. @9 J) Q( Y* d& ^
if(status!= ITK_ok) report_error_stack(); {$ @# ^) d2 Y- D) r. C) Q+ Z! t
7 T9 M7 R; l/ Z: j" C
status = AOM_save(new_folder);
1 }0 b: w0 Y3 C. q if(status!= ITK_ok) report_error_stack();, E& m5 N j$ X4 u. P1 n
else printf("Folder '%s' Saved; ", folder_name);
$ X" `# L. E9 [* a2 [5 A4 |
( a3 N: x1 Z9 V% R status = AOM_unlock(new_folder);; u p0 f7 g- x2 i3 ]
if(status!= ITK_ok) report_error_stack();' I# B8 y# Y3 D. e) K2 N- z
else printf("Unlocked; ");
4 {% ~) E" W$ Y& F5 h( B1 R$ p, t; N* ^" R5 F1 a( ~7 C
status = FL_user_update_newstuff_folder(new_folder);3 s/ x2 C$ W! C) [$ p
if(status!= ITK_ok) report_error_stack();2 p7 N5 [: n/ h1 i! J* \8 x8 p5 R
else printf("Put in Newstuff Folder.\n");
* C* p' |) h9 W9 B+ \6 l6 H8 V: ]* R" s
ITK_exit_module(TRUE);: R5 N. E5 _2 p" u
return status;
1 E! P6 s ~& F3 ]0 h}
- d0 V, j/ K0 R( Z |
|