📄 template.py
字号:
@operations@ public: // Really protected, workaround for xlC virtual _CORBA_Boolean _dispatch(omniCallHandle&);private: virtual void* _ptrToInterface(const char*); virtual const char* _mostDerivedRepoId();};"""interface_sk = """\class _sk_@name@ : public virtual _impl_@name@, @inherits@{public: _sk_@name@() {} _sk_@name@(const omniOrbBoaKey&); virtual ~_sk_@name@(); inline @name@::_ptr_type _this() { return (@name@::_ptr_type) omniOrbBoaServant::_this(@name@::_PD_repoId); }};"""interface_marshal_forward = """\inline void@name@::_marshalObjRef(::@name@_ptr obj, cdrStream& s) { omniObjRef::_marshal(obj->_PR_getobj(),s);}"""#### Typedefs##typedef_simple_to_array = """\typedef @base@ @derived@;typedef @base@_slice @derived@_slice;typedef @base@_copyHelper @derived@_copyHelper;typedef @base@_var @derived@_var;typedef @base@_out @derived@_out;typedef @base@_forany @derived@_forany;@inline_qualifier@ @derived@_slice* @derived@_alloc() { return @base@_alloc(); }@inline_qualifier@ @derived@_slice* @derived@_dup(const @derived@_slice* p) { return @base@_dup(p); }@inline_qualifier@ void @derived@_copy( @derived@_slice* _to, const @derived@_slice* _from ) { @base@_copy(_to, _from); }@inline_qualifier@ void @derived@_free( @derived@_slice* p) { @base@_free(p); }"""typedef_simple_string = """\typedef char* @name@;typedef CORBA::String_var @name@_var;typedef CORBA::String_out @name@_out;"""typedef_simple_wstring = """\typedef CORBA::WChar* @name@;typedef CORBA::WString_var @name@_var;typedef CORBA::WString_out @name@_out;"""typedef_simple_typecode = """\typedef CORBA::TypeCode_ptr @name@_ptr;typedef CORBA::TypeCode_var @name@_var;"""typedef_simple_any = """\typedef CORBA::Any @name@;typedef CORBA::Any_var @name@_var;typedef CORBA::Any_out @name@_out;"""typedef_simple_fixed = """\typedef _omni_Fixed<@digits@,@scale@> @name@;typedef @name@& @name@_out;"""typedef_simple_basic = """\typedef @base@ @derived@;typedef @base@_out @derived@_out;"""typedef_simple_constructed = """\typedef @base@ @name@;typedef @base@_var @name@_var;typedef @base@_out @name@_out;"""typedef_simple_objref = """\typedef @base@ @name@;typedef @base@_ptr @name@_ptr;typedef @base@Ref @name@Ref;@impl_base@typedef @base@_Helper @name@_Helper;@objref_base@typedef @base@_var @name@_var;typedef @base@_out @name@_out;"""typedef_enum_oper_friend = """\// Need to declare <<= for elem type, as GCC expands templates early#if defined(__GNUG__) && __GNUG__ == 2 && __GNUC_MINOR__ == 7 @friend@ inline void operator >>= (@element@, cdrStream&); @friend@ inline void operator <<= (@element@&, cdrStream&);#endif"""# Arraystypedef_array = """\typedef @type@ @name@@dims@;typedef @type@ @name@_slice@taildims@;@inline_qualifier@ @name@_slice* @name@_alloc() { return new @name@_slice[@firstdim@];}@inline_qualifier@ @name@_slice* @name@_dup(const @name@_slice* _s) { if (!_s) return 0; @name@_slice* _data = @name@_alloc(); if (_data) { @dup_loop@ } return _data;}@inline_qualifier@ void @name@_copy(@name@_slice* _to, const @name@_slice* _from){ @copy_loop@}@inline_qualifier@ void @name@_free(@name@_slice* _s) { delete [] _s;}"""typedef_array_copyHelper = """\class @name@_copyHelper {public: static inline @name@_slice* alloc() { return @name@_alloc(); } static inline @name@_slice* dup(const @name@_slice* p) { return @name@_dup(p); } static inline void free(@name@_slice* p) { @name@_free(p); }};typedef _CORBA_Array_@var_or_fix@_Var<@name@_copyHelper,@name@_slice> @name@_var;typedef _CORBA_Array_@var_or_fix@_Forany<@name@_copyHelper,@name@_slice> @name@_forany;"""typedef_array_fix_out_type = """\typedef @name@_slice* @name@_out;"""typedef_array_variable_out_type = """\typedef _CORBA_Array_Variable_OUT_arg<@name@_slice,@name@_var > @name@_out;"""#### Sequences##sequence_type = """\class @name@_var;class @name@ : public @derived@ {public: typedef @name@_var _var_type; inline @name@() {} inline @name@(const @name@& _s) : @derived@(_s) {} @bounds@ inline @name@& operator = (const @name@& _s) { @derived@::operator=(_s); return *this; }};"""sequence_forward_type = """\class @name@_var;class @name@ : public @derived@ {public: typedef @name@_var _var_type; inline @name@() {} @name@(const @name@& _s); @name@& operator=(const @name@& _s); @bounds@ virtual ~@name@(); @element@& operator[] (_CORBA_ULong _index); const @element@& operator[] (_CORBA_ULong _index) const; static @element@* allocbuf(_CORBA_ULong _nelems); static void freebuf(@element@* _b); void operator>>= (cdrStream &_s) const; void operator<<= (cdrStream &_s);protected: void NP_copybuffer(_CORBA_ULong _newmax); void NP_freebuf();};"""sequence_unbounded_ctors = """\inline @name@(_CORBA_ULong _max) : @derived@(_max) {}inline @name@(_CORBA_ULong _max, _CORBA_ULong _len, @element@* _val, _CORBA_Boolean _rel=0) : @derived@(_max, _len, _val, _rel) {}"""sequence_bounded_ctors = """\inline @name@(_CORBA_ULong _len, @element@* _val, _CORBA_Boolean _rel=0) : @derived@(_len, _val, _rel) {}"""sequence_var_array_subscript = """\inline @element@_slice* operator [] (_CORBA_ULong _s) { return (@element@_slice*) ((_pd_seq->NP_data())[_s]);}"""sequence_var_subscript = """\inline @element@ operator [] (_CORBA_ULong _s) { return (*_pd_seq)[_s];}"""sequence_var = """\class @name@_out;class @name@_var {public: inline @name@_var() : _pd_seq(0) {} inline @name@_var(@name@* _s) : _pd_seq(_s) {} inline @name@_var(const @name@_var& _s) { if( _s._pd_seq ) _pd_seq = new @name@(*_s._pd_seq); else _pd_seq = 0; } inline ~@name@_var() { if( _pd_seq ) delete _pd_seq; } inline @name@_var& operator = (@name@* _s) { if( _pd_seq ) delete _pd_seq; _pd_seq = _s; return *this; } inline @name@_var& operator = (const @name@_var& _s) { if( _s._pd_seq ) { if( !_pd_seq ) _pd_seq = new @name@; *_pd_seq = *_s._pd_seq; } else if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; } return *this; } @subscript_operator@ inline @name@* operator -> () { return _pd_seq; }#if defined(__GNUG__) inline operator @name@& () const { return *_pd_seq; }#else inline operator const @name@& () const { return *_pd_seq; } inline operator @name@& () { return *_pd_seq; }#endif inline const @name@& in() const { return *_pd_seq; } inline @name@& inout() { return *_pd_seq; } inline @name@*& out() { if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; } return _pd_seq; } inline @name@* _retn() { @name@* tmp = _pd_seq; _pd_seq = 0; return tmp; } friend class @name@_out; private: @name@* _pd_seq;};"""sequence_out_array_subscript = """\inline @element@_slice* operator [] (_CORBA_ULong _i) { return (@element@_slice*) ((_data->NP_data())[_i]);}"""sequence_out_subscript = """\inline @element@ operator [] (_CORBA_ULong _i) { return (*_data)[_i];}"""sequence_out = """\class @name@_out {public: inline @name@_out(@name@*& _s) : _data(_s) { _data = 0; } inline @name@_out(@name@_var& _s) : _data(_s._pd_seq) { _s = (@name@*) 0; } inline @name@_out(const @name@_out& _s) : _data(_s._data) {} inline @name@_out& operator = (const @name@_out& _s) { _data = _s._data; return *this; } inline @name@_out& operator = (@name@* _s) { _data = _s; return *this; } inline operator @name@*&() { return _data; } inline @name@*& ptr() { return _data; } inline @name@* operator->() { return _data; } @subscript_operator@ @name@*& _data;private: @name@_out(); @name@_out& operator=(const @name@_var&);};"""#### Structs##struct = """\struct @name@ { typedef _CORBA_ConstrType_@fix_or_var@_Var<@name@> _var_type; @Other_IDL@ @members@ void operator>>= (cdrStream &) const; void operator<<= (cdrStream &);};typedef @name@::_var_type @name@_var;"""struct_fix_out_type = """\typedef @name@& @name@_out;"""struct_variable_out_type = """\typedef _CORBA_ConstrType_Variable_OUT_arg< @name@,@name@_var > @name@_out;"""struct_nonarray_sequence = """\typedef @memtype@ _@cxx_id@_seq;_@cxx_id@_seq @cxx_id@;"""struct_normal_member = """\@memtype@ @cxx_id@@dims@;"""struct_forward = """\struct @name@;"""#### Exceptions##exception = """\class @name@ : public CORBA::UserException {public: @Other_IDL@ @members@ inline @name@() { pd_insertToAnyFn = insertToAnyFn; pd_insertToAnyFnNCP = insertToAnyFnNCP; } @name@(const @name@&); @constructor@ @name@& operator=(const @name@&); virtual ~@name@(); virtual void _raise() const; static @name@* _downcast(CORBA::Exception*); static const @name@* _downcast(const CORBA::Exception*); static inline @name@* _narrow(CORBA::Exception* _e) { return _downcast(_e); } @inline@void operator>>=(cdrStream&) const @body@ @inline@void operator<<=(cdrStream&) @body@ static _core_attr insertExceptionToAny insertToAnyFn; static _core_attr insertExceptionToAnyNCP insertToAnyFnNCP; virtual CORBA::Exception* _NP_duplicate() const; static _core_attr const char* _PD_repoId; static _core_attr const char* _PD_typeId;private: virtual const char* _NP_typeId() const; virtual const char* _NP_repoId(int*) const; virtual void _NP_marshal(cdrStream&) const;};""" exception_array_declarator = """\typedef @memtype@ @private_prefix@_@cxx_id@@dims@;typedef @memtype@ _@cxx_id@_slice;"""exception_member = """\@memtype@ @cxx_id@@dims@;"""#### Unions##union_ctor_nonexhaustive = """\if ((_pd__default = _value._pd__default)) { @default@}else { switch(_value._pd__d) { @cases@ }}_pd__d = _value._pd__d;"""union_ctor_exhaustive = """\switch(_value._pd__d) { @cases@}_pd__d = _value._pd__d;"""union_ctor_case = """\case @discrimvalue@: @name@(_value._pd_@name@); break;"""union_ctor_bool_default = """\#ifndef HAS_Cplusplus_Bool default: break;#endif"""union_ctor_default = """\ default: break;"""union = """\class @unionname@ {public: typedef _CORBA_ConstrType_@fixed@_Var<@unionname@> _var_type; @Other_IDL@ @unionname@(): _pd__initialised(0) { @default_constructor@ }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -