8#if !defined(OCF_AUTODEFS_H)
12#if defined(BI_HAS_PRAGMA_ONCE)
21#if !defined(_OLECTL_H_)
22# if defined(__BIVBX_H) && !defined(NO_VBX_PICTURES)
23# error BIVBX.H LPPICTURE is incompatible with OLECTL.H - define NO_VBX_PICTURES
25# define NO_VBX_PICTURES
38#if !defined(_AUTOCLASS)
60 const std::type_info& dst);
81 void Notify(
int offset,
const std::type_info& typeInfo);
92 reinterpret_cast<ObjectPtr>(
dynamic_cast<T*
>(
reinterpret_cast<B*
>(from)));
104#if defined(BI_COMP_BORLANDC)
132 static void Raise(TError err);
150 const std::type_info& typeInfo,
TAggregator aggregator=0);
189 struct TAutoClassRef {
194 static struct TClassList {
195 int CountAutoClasses();
196 TAutoClassRef* MergeAutoClasses(TAutoClassRef* array);
202 TExtLink(TClassList* list, HINSTANCE module);
209 TAutoClass* NextClass;
210 friend struct TExtLink;
211 friend struct TClassList;
241# if defined(BI_COMP_BORLANDC)
247 operator double() {
return Date; }
257 operator CY& () {
return *
reinterpret_cast<CY*
>(
this);}
461#if defined(BI_COMP_BORLANDC) && !defined(__clang__)
462 #if sizeof(TObjectDescBase) > 8
463 #error Sizeof TObjectDescBase must be 8 bytes - it is a TAutoVal union member
523# if defined(BI_COMP_BORLANDC)
591 TAutoVal(ULONG_PTR v){ *
this = v; };
596 operator unsigned char();
597 operator signed char();
599 operator unsigned char*();
600 operator signed char*();
604 operator unsigned int();
607 operator unsigned short();
608 operator unsigned short*();
611 operator unsigned long();
612 operator unsigned long*();
628 operator IUnknown*();
629 operator IDispatch*();
630 operator IPictureDisp*();
631 operator IFontDisp*();
632 operator IPictureDisp&();
633 operator IFontDisp&();
634 operator IUnknown&();
635 operator IDispatch&();
641 operator SAFEARRAY*();
642 operator IUnknown**();
643 operator IDispatch**();
645 operator LARGE_INTEGER();
646 operator ULARGE_INTEGER();
648 operator ULONG_PTR();
654 void operator =(
unsigned char i);
655 void operator =(
signed char i);
656 void operator =(
char i);
657 void operator =(
unsigned char* p);
658 void operator =(
signed char* p);
659 void operator =(
char* p);
660 void operator =(
const char* p);
661 void operator =(
int i);
662 void operator =(
int* p);
663 void operator =(
unsigned int i);
664 void operator =(
unsigned int* p);
665 void operator =(
unsigned short i);
666 void operator =(
unsigned short* p);
667 void operator =(
long i);
668 void operator =(
long* p);
669 void operator =(
unsigned long i);
670 void operator =(
unsigned long* p);
671 void operator =(
short i);
672 void operator =(
short* p);
673 void operator =(
float i);
674 void operator =(
float* p);
675 void operator =(
double i);
676 void operator =(
double* p);
677 void operator =(
void* p);
687 void operator =(IUnknown* ifc);
688 void operator =(IDispatch* ifc);
689 void operator =(IPictureDisp* ifc);
690 void operator =(IFontDisp* ifc);
691 void operator =(VARIANT& v);
694 void operator =(
const TNoArg& n);
697 void operator =(BSTR* p);
698 void operator =(
TBSTR* p);
699 void operator =(IUnknown** p);
700 void operator =(IDispatch** p);
702 void operator =(LARGE_INTEGER v);
703 void operator =(ULARGE_INTEGER v);
704 void operator =(SAFEARRAY* p);
706 void operator =(ULONG_PTR v);
736 unsigned short Reserved1;
737 unsigned short Reserved2;
738 unsigned short Reserved3;
745 VARIANT_BOOL boolVal;
753 unsigned char* pbVal;
758 VARIANT_BOOL * pbool;
763 IUnknown* * ppunkVal;
764 IDispatch* * ppdispVal;
765 SAFEARRAY* * pparray;
783 TObjectDescBase ObjDesc;
786 ULARGE_INTEGER uhVal;
792 void ConvRef(
int type);
794# if defined(BI_COMP_BORLANDC)
801#if defined(BI_COMP_BORLANDC) && !defined(__clang__)
802# if sizeof(TAutoVal) != sizeof(VARIANT)
803# Error Sizeof(TAutoVal) must match Sizeof(VARIANT)
854 virtual bool Validate();
855 virtual void Execute();
856 virtual long Report();
928 IUnknown* outer = 0) = 0;
930 IUnknown* outer = 0) = 0;
980 operator IDispatch*();
996 {
return GetOuter()->QueryInterface(
iid, iface);}
1001 HRESULT QueryObject(
const IID &
iid,
void** iface);
1010 HRESULT
_IFUNC GetTypeInfoCount(
unsigned int* pctinfo);
1011 HRESULT
_IFUNC GetTypeInfo(
unsigned int itinfo, LCID lcid,
1013 HRESULT
_IFUNC GetIDsOfNames(
const IID & riid, OLECHAR** rgszNames,
1016 HRESULT
_IFUNC Invoke(DISPID dispidMember,
const IID & riid, LCID lcid,
1017 unsigned short wFlags,
1018 DISPPARAMS* pdispparams,
1019 VARIANT* pvarResult,
1020 EXCEPINFO* pexcepinfo,
1021 unsigned int* puArgErr);
1025 HRESULT
_IFUNC GetTypeAttr(TYPEATTR** pptypeattr);
1026 HRESULT
_IFUNC GetTypeComp(ITypeComp** pptcomp);
1027 HRESULT
_IFUNC GetFuncDesc(
unsigned int index, FUNCDESC** ppfuncdesc);
1028 HRESULT
_IFUNC GetVarDesc(
unsigned int index, VARDESC** ppvardesc);
1029 HRESULT
_IFUNC GetNames(MEMBERID memid, BSTR* rgbstrNames,
1030 unsigned int cMaxNames,
1031 unsigned int* pcNames);
1032 HRESULT
_IFUNC GetRefTypeOfImplType(
unsigned int index, HREFTYPE* phreftype);
1033 HRESULT
_IFUNC GetImplTypeFlags(
unsigned int index,
int* pimpltypeflags);
1034 HRESULT
_IFUNC GetIDsOfNames(OLECHAR** rgszNames,
1035 unsigned int cNames,
1037 HRESULT
_IFUNC Invoke(
void* pvInstance, MEMBERID memid,
1038 unsigned short wFlags,
1039 DISPPARAMS *pdispparams,
1040 VARIANT *pvarResult,
1041 EXCEPINFO *pexcepinfo,
1042 unsigned int *puArgErr);
1043 HRESULT
_IFUNC GetDocumentation(MEMBERID memid,
1045 BSTR* pbstrDocString,
1047 BSTR* pbstrHelpFile);
1048 HRESULT
_IFUNC GetDllEntry(MEMBERID memid, INVOKEKIND invkind,
1051 unsigned short* pwOrdinal);
1052 HRESULT
_IFUNC GetRefTypeInfo(HREFTYPE hreftype,
1054 HRESULT
_IFUNC AddressOfMember(MEMBERID memid, INVOKEKIND invkind,
1056 HRESULT
_IFUNC CreateInstance(IUnknown* punkOuter,
const IID & riid,
1058 HRESULT
_IFUNC GetMops(MEMBERID memid, BSTR* pbstrMops);
1059 HRESULT
_IFUNC GetContainingTypeLib(ITypeLib** pptlib,
1061 void _IFUNC ReleaseTypeAttr(TYPEATTR* ptypeattr);
1062 void _IFUNC ReleaseFuncDesc(FUNCDESC* pfuncdesc);
1063 void _IFUNC ReleaseVarDesc(VARDESC* pvardesc);
1064 HRESULT
_IFUNC GetFuncDocFromIndex(
unsigned index,
1065 BSTR* retName, BSTR* retDoc,
1070 HRESULT
_IFUNC GetVarDocFromIndex(
unsigned index,
1071 BSTR* retName, BSTR* retDoc,
1075 BSTR* retName, BSTR* retDoc,
1094 operator IDispatch*();
1100 HRESULT
_IFUNC GetTypeInfoCount(
unsigned int* pctinfo);
1101 HRESULT
_IFUNC GetTypeInfo(
unsigned int itinfo, LCID lcid,
1103 HRESULT
_IFUNC GetIDsOfNames(
const IID & riid, OLECHAR** rgszNames,
1104 unsigned int cNames, LCID lcid,
1106 HRESULT
_IFUNC Invoke(DISPID dispidMember,
const IID & riid, LCID lcid,
1107 unsigned short wFlags,
1108 DISPPARAMS* pdispparams,
1109 VARIANT* pvarResult,
1110 EXCEPINFO* pexcepinfo,
1111 unsigned int* puArgErr);
1131 operator T*() {
return P;}
1132 operator T&() {
return *
P;}
1149template<
class T>
void
1192 HRESULT
_IFUNC Next(
unsigned long count, VARIANT* retvals,
1193 unsigned long* retcount);
1208 operator IUnknown*();
1248 operator VARIANT* () {
return (VARIANT* )
GetArgs();}
1249 operator unsigned int() {
return Count;}
1286 void Bind(IUnknown* obj);
1287 void Bind(IUnknown& obj);
1288 void Bind(
const GUID& guid);
1289 void Bind(LPCTSTR progid);
1291 void Bind(IDispatch* obj);
1292 void Bind(IDispatch& obj);
1293 void Unbind(
bool release =
true);
1302 static IDispatch* GetObject(LPCTSTR progid);
1310 operator IDispatch*();
1311 operator IDispatch&();
1316 long Lookup(LPCTSTR name);
1317 void Lookup(LPCTSTR names,
long* ids,
unsigned count);
1333 operator long*() {
return &
Id;}
1334 operator unsigned() {
return 0;}
1342 operator long*() {
return Ids;}
1343 operator unsigned() {
return N;}
1389 return *(
GetArgs()+(index ? Count+1-index : 0));
1394inline TAutoProxy::operator IDispatch&()
1406inline TAutoProxy::operator IDispatch*()
1417 if (release &&
That)
1508 return (
Attr&mask)? true :
false;
1556 --*
S;
S = val;
return *
this;
1581 ::VariantCopy((VARIANT*)
this, (VARIANT*)&src);
1590 ::VariantCopy((VARIANT*)
this, (VARIANT*)&src);
1594inline TAutoVal::operator
unsigned long(){
return (
unsigned long)
operator long();}
1600inline TAutoVal::operator int() {
return operator long(); }
1601inline TAutoVal::operator
unsigned int() {
return (
unsigned long)(long)*
this;}
1602inline TAutoVal::operator
int*() {
return (
int*)
operator long*();}
1605inline TAutoVal::operator
signed char() {
return operator unsigned char();}
1606inline TAutoVal::operator char() {
return operator unsigned char();}
1607inline TAutoVal::operator
char*() {
return (
char*)
operator unsigned char*();}
1608inline TAutoVal::operator
signed char*() {
return (
signed char*)
operator unsigned char*();}
1676 ObjDesc.Object= od.
Object;
1677 ObjDesc.Class = od.
Class;
1692 memset(
this, 0,
sizeof(*
this));
1700 s.Holder->ReleaseBstr((vt &
atByRef) ? *pbstrVal : bstrVal);
1703 ::VariantClear((VARIANT*)
this);
1711 s.Holder->RevokeBstr((vt &
atByRef) ? *pbstrVal : bstrVal);
1736 return ::VariantChangeType((VARIANT*)
this, src ? (VARIANT*)src : (VARIANT*)
this, 0, varType);
1742 return (vt &
atByRef) ? true :
false;
1763 od.
Object = ObjDesc.Object;
1764 od.
Class = ObjDesc.Class;
1778 return (vt &
atByRef ? *pparray : parray);
1802inline TServedObject::operator IDispatch*()
1805 return (IDispatch*)
this;
1810inline TDispatch::operator IDispatch*()
1813 return (IDispatch*)
this;
1828 {
return TAutoCommand_ErrorLookup ? TAutoCommand_ErrorLookup(errCode) : 0;}
1836template <
class T>
inline
1842template <
class T>
bool
1846 const _TCHAR* str = stringRef;
1849 for (
int i = 0; i <
Count; i++) {
1850 if (
Table[i].
Name.Compare(str, langId) == 0) {
1851 numVal =
Table[i].Val;
1861template <
class T>
bool
1866 for (
int i = 0; i <
Count; i++) {
1867 if (
Table[i].Val == val) {
1868 numVal =
Table[i].Name.Translate(langId);
1885 LPCTSTR str = numVal.
StrVal();
1887 for (
int i = 0; i <
Count; i++) {
1888 if (lstrcmp(
Table[i].Val, str) == 0) {
1889 numVal =
Table[i].Name.Translate(langId);
1902inline TAutoIterator::operator IUnknown*() {
RefCnt++;
return this;}
1933 if (!TAutoCommand_InvokeHook || TAutoCommand_InvokeHook(*
this))
1963 TAutoCommand_ErrorLookup = callback;
1970 TAutoCommand_InvokeHook = callback;
1974# if defined(BI_COMP_BORLANDC)
#define PRECONDITION(condition)
short CommandCount
command count including bases, 0 if uncounted
friend class TAppDescriptor
access to linkage information
TAutoSymbol * Lookup(TCHAR *name, owl::TLangId lang, short symFlags, long &id)
bool AutoIds
generate ID's automatically if true (default)
friend class _ICLASS TOcControlEvent
access to AutoIds bool
TAutoSymbol * ClassSymbol
pointer to class symbol (terminator)
unsigned short GetCoClassFlags() const
int GetImplTypeFlags() const
TAutoSymbol * GetTable() const
TAggregator Aggregator
aggregator function for C++ COM classes
TAutoSymbol * FindVariable(unsigned index, MEMBERID &retId)
LPCTSTR GetDoc(owl::TLangId lang=owl::TLocaleString::UserDefaultLangId) const
TXAuto::TError Dispatch(ObjectPtr obj, TAutoCreator &creator, TUnknown &owner, int attr, TAutoStack &args, TAutoVal *retval)
TAutoSymbol * GetClassSymbol() const
TAutoClass(TAutoSymbol *table, TAutoSymbol *classSymbol, const std::type_info &typeInfo, TAggregator aggregator=0)
unsigned long GetHelpId() const
IUnknown & Aggregate(ObjectPtr obj, TUnknown &inner)
friend class _ICLASS TTypeLibrary
access to TAutoClassRef
friend class _ICLASS TCoClassInfo
access to TAutoClassRef
TAutoSymbol * Table
pointer to array of symbol entries
short VariableCount
number of symbols exposed as typelib variables
TAutoSymbol * FindFunction(unsigned index, MEMBERID &retId)
TAggregator GetAggregator() const
TAutoSymbol * LookupArg(TCHAR *name, owl::TLangId lang, TAutoSymbol *cmd, long &retid)
TAutoCommandBuildDtr GetDestructor() const
TAutoSymbol * FindId(long id, ObjectPtr &objptr)
short FunctionCount
number of symbols exposed as typelib functions
const std::type_info & TypeInfo
for validating type of data pointers
short GetArgCount(TAutoSymbol &sym)
unsigned short GetTypeFlags() const
friend class TServedObject
const std::type_info & GetTypeInfo() const
LPCTSTR GetName(owl::TLangId lang=owl::TLocaleString::UserDefaultLangId) const
Automation abstract base class for command objects.
virtual TAutoCommand * Undo()
void Fail(TXAuto::TError)
virtual TAutoCommand & Invoke()
static LPCTSTR LookupError(long errCode)
virtual int Record(TAutoStack &q)
static TCommandHook SetCommandHook(TCommandHook callback)
bool(*) TCommandHook(TAutoCommand &cmdObj)
virtual void Return(TAutoVal &v)
virtual void Transfer(TAutoTransfer &x)
void SetSymbol(TAutoSymbol *sym)
LPCTSTR(*) TErrorMsgHook(long errCode)
TAutoSymbol * GetSymbol()
static TErrorMsgHook SetErrorMsgHook(TErrorMsgHook callback)
Object responsible for creating automation COM object.
virtual TUnknown * CreateObject(TObjectDescriptor objDesc, IUnknown *outer=0)=0
virtual void Attach(TServedObject &obj)
virtual IDispatch * CreateDispatch(TObjectDescriptor objDesc, IUnknown *outer=0)=0
virtual void Detach(TServedObject &obj)
void Notify(int offset, const std::type_info &typeInfo)
int Count
length of this symbol table
virtual bool Convert(TAutoVal &txtVal, TAutoVal &numVal)=0
virtual bool Convert(TAutoVal &numVal, owl::TLangId langId)=0
TAutoEnum(int count, int type)
bool Convert(TAutoVal &txtVal, TAutoVal &numVal)
TAutoEnumVal< T > * Table
pointer to array of symbol entries
TAutoEnumT(TAutoEnumVal< T > *table, int symcount, int type)
void Object(TAutoProxy &prx)
TAutoEnumerator(const TAutoEnumerator< T > &cpy)
automation collection iterator
virtual void Return(TAutoVal &v)=0
TAutoSymbol * GetSymbol()
unsigned long _IFUNC AddRef()
TAutoIterator(TAutoCreator &creator, IUnknown *owner, owl::TLangId lang)
HRESULT _IFUNC Next(unsigned long count, VARIANT *retvals, unsigned long *retcount)
virtual TAutoIterator * Copy()=0
unsigned long _IFUNC Release()
HRESULT _IFUNC QueryInterface(const GUID &iid, void **pif)
void SetSymbol(TAutoSymbol *sym)
HRESULT _IFUNC Clone(IEnumVARIANT **retiter)
HRESULT _IFUNC Skip(unsigned long count)
void operator=(IDispatch &dp)
virtual TAutoVal * GetArgs()=0
TAutoVal & operator[](int index)
client C access proxy, base class
TAutoProxy(owl::TLangId lang)
void Unbind(bool release=true)
long Lookup(const long id)
void SetLang(owl::TLangId lang)
Automation argument stack abstraction.
TAutoStack(DISPID dispid, VARIANT *stack, TLocaleId locale, int argcount, int namedcount, long *map, TServedObject *owner)
TAutoSymbol * Symbol
Symbol of method/prop, args follow.
long ErrorCode
Set if TXAuto::xErrorStatus returned.
int CurrentArg
Index of last arg requested by operator[].
LPCTSTR ErrorMsg
Set if TXAuto::xErrorStatus returned.
Based on reference counted TString with added automation functionality.
TAutoString(const wchar_t *s)
TAutoString(const owl::tstring &s)
TAutoString(const TAutoString &src)
TAutoString(const char *s=0)
TAutoString(owl::TUString *s)
TAutoString(BSTR s, bool loan)
static TAutoType ClassInfo
TAutoString & operator=(const char *s)
Automation data element (same data as OLE/BASIC VARIANT).
TAutoVal(unsigned char *p)
TAutoVal(IPictureDisp *ifc)
TAutoVal(TAutoCurrency *p)
bool GetObjDesc(TObjectDescriptor &)
TAutoVal(LARGE_INTEGER v)
bool IsRef() const
Is TAutoVal Object (i.e. VARIANT) passing data by reference.
TAutoVal * DereferenceVariant()
TLocaleId GetLocale() const
TAutoVal(unsigned short *p)
void SetLocale(TLocaleId)
TAutoVal(unsigned long *p)
void Copy(const TAutoVal ©)
TAutoVal(unsigned long i)
TAutoVal(const owl::tstring &s)
TAutoVal(IDispatch **ifc)
TAutoVal(TAutoCurrency i)
void * SetByRef(AutoDataType)
const TAutoVal & operator=(const TAutoVal &src)
HRESULT ChangeType(VARTYPE type, TAutoVal *src=0)
Converts TAutoVal/VARIANT to another type.
TAutoVal(ULARGE_INTEGER v)
TAutoVal(const TNoArg &n)
TAutoVal(unsigned short i)
owl::TLangId GetLanguage() const
TAutoVal(unsigned int *p)
TAutoVal(unsigned char i)
TAutoClass * Class
class of which object is an instance
TDispatch(const TObjectDescriptor &obj, IUnknown *outer=0)
void * Object
pointer to C++ object instance, 0 if deleted
TAppDescriptor & GetAppDesc()
void Detach(TServedObject &obj)
IDispatch * CreateDispatch(TObjectDescriptor objDesc, IUnknown *outer=0)
TServedObject * GetAppObject()
TServedObjectCreator(TAppDescriptor &appDesc)
void Attach(TServedObject &obj)
friend class TServedObject
TUnknown * CreateObject(TObjectDescriptor objDesc, IUnknown *outer=0)
TServedObject * AppObject
OLE object exposed for automated access of internal object.
owl::ulong _IFUNC AddRef()
TServedObjectCreator & GetCreator()
owl::ulong _IFUNC Release()
TServedObjectCreator & Creator
TServedObject * GetAppObject()
TObjectDescriptor::TDestruct Destruct
what to do with C++ object
friend class _ICLASS TOcControl
void * Object
pointer to C++ object instance, 0 if deleted
const void * RootObject
pointer to object of most derived class
HRESULT _IFUNC QueryInterface(const GUID &iid, void **iface)
owl::TLangId ReqLang
language requested by caller
TAutoClass * Class
class of which object is an instance
friend class _ICLASS TOcxView
friend class _ICLASS TAppDescriptor
TServedObject(TObjectDescriptor &obj, TServedObjectCreator &creator, IUnknown *outer=0)
Standard implementation of a controlling IUnknown for an object, to be inherited with other COM inter...
Automation exception object.
Reference to reference counted string object TUString Lightweight reference object consisting of a po...
TString(const char *s=0)
Construct a TString from any type of string.
Privately used by TString to manage string pointers This is a reference counted union of various stri...
Derived from xmsg, TXBase is the base class for ObjectWindows and ObjectComponents exception-handling...
TLocaleString - localized name support.
Object Component Framework (COM encapsulation).
const owl::uint16 tfAutomation
const owl::uint16 tfAutoClassMask
const owl::uint16 tfControl
TAutoIterator *(*) TAutoIteratorBuild(ObjectPtr obj, TAutoCreator &creator, IUnknown *owner, owl::TLangId lang)
const owl::uint16 tfRestricted
const owl::uint16 tfAppObject
const owl::uint16 tfImplFlagXfer
const owl::uint16 tfHidden
@ acVoidRet
pass NULL for return variant, not OLE2 flag
@ acPropGet
returns property value, same as OLE2
@ acPropSet
set property value, same as OLE2
@ acMethod
method call, same as OLE2
const owl::uint16 tfNormal
const void * MostDerived(const void *obj, const std::type_info &src)
const owl::uint16 atAutoClass
const owl::uint16 atSafeArray
AutoSymFlag
Attribute flags for automation symbols and command objects.
@ asClass
extension to another class symbol table
@ asIterator
iterator property (_NewEnum)
@ asHidden
not visible to normal browsing
@ asGetSet
can get or set property(...GET + ...SET)
@ asPersistent
property is persistent
@ asRequestEdit
sends OnRequest edit before change
@ asDisplayBind
user-display of bindable
@ asNotTerminator
any symbol except terminator with class info
@ asOleType
method or property exposed for OLE
@ asGet
returns property value (INVOKE_PROPERTYGET)
@ asBindable
sends OnChanged notification
@ asAnyCommand
any command: method, property get/set, build
@ asSet
set property value (INVOKE_PROPERTYSET)
@ asDefaultBind
this property only is the default (redundant)
@ asArgument
property returning an object
@ asMethod
method (same as OLE INVOKE_FUNC)
@ asBuild
contructor command (unsupported by OLE 2.01)
@ asFactory
for creating objects or class determination
const owl::uint16 tfPredeclared
const void * DynamicCast(const void *obj, const std::type_info &src, const std::type_info &dst)
TAutoCommand *(*) TAutoCommandBuild(ObjectPtr obj, int attr, TAutoStack &)
TAutoCommand * AutoQuitBuild(ObjectPtr obj, int attr, TAutoStack &args)
IUnknown &(*) TAggregator(ObjectPtr obj, TUnknown &inner)
const owl::uint16 tfLicensed
const owl::uint16 tfNonextensible
_OCFDATA(TAutoCommand::TErrorMsgHook) TAutoCommand_ErrorLookup
EXTERN_C const GUID IID_TServedObject
const owl::uint16 atByRef
ObjectPtr(*) TAutoSymTypeConvert(ObjectPtr obj)
struct _OCFCLASS TAutoTransfer
const owl::uint16 tfDefault
owl::TSysStr TBSTR
BASIC global string encapsulation.
const owl::uint16 tfEventSource
TAutoCommand *(*) TAutoCommandBuildDtr(ObjectPtr obj, int attr)
AutoDataType
Automation datatypes and flags - same as OLE 2 definitions.
const owl::uint16 tfCoClassXfer
const owl::uint16 tfCanCreate
void SendObituary(const void *obj, const std::type_info &typeInfo)
Object Windows Library (OWLNext Core).
owl::uint16 TLangId
Holds a language ID, a predefined number that represents a base language and dialect.
BSTR SysAllocString(const char *str)
ulong TStaticSync< T >::Count
interface _ICLASS ITypeInfo
ObjectComponents fundamental definitions.
Low level OLE Utility class definitions.
#define DECLARE_COMBASES2(cls, i1, i2)
#define DECLARE_COMBASES1(cls, i1)
Definition of class TString, a flexible universal string envelope class.
virtual TAutoVal * GetArgs()
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
TAutoDispId(TAutoProxy *, long id)
TAutoDispId(TAutoProxy *prx, LPCTSTR name)
TAutoDispIds(TAutoProxy *prx, LPCTSTR names)
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
owl::TLocaleString Name
Name of symbol, enumeration text.
T Val
Enumeration internal value.
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
owl::uint16 GetDataType() const
void SetFlag(owl::uint16 mask)
TAutoClass * GetClass() const
static TAutoCommandBuild InitAutoIterator(TAutoIteratorBuild f)
bool TestFlag(owl::uint16 mask) const
static TAutoCommandBuild InitTypeConvert(TAutoSymTypeConvert f)
void ClearFlag(owl::uint16 mask)
owl::TLocaleString Name
name of symbol, initially untranslated
owl::uint32 Attr
attributes: enum AutoSymFlag, as???? (could be owl::uint16)
owl::ulong HelpId
help context ID, not for asArgument
owl::uint16 GetFlags() const
owl::TLocaleString Doc
documentation string, initially untranslated
TAutoEnum * GetEnum() const
bool IsTerminator() const
static TAutoCommandBuild InitAutoDestructor(TAutoCommandBuildDtr f)
TAutoType * Type
pointer to class/type/enum descriptor
owl::uint16 GetType() const
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
static TAutoType ClassInfo
Precursor to TServedObject containing object info.
const void * MostDerived()
TAutoClass * Class
class descriptor, contains type info
const void * Object
< ONLY for use when storing in TAutoVal union
TObjectDescriptor(const void *obj, TAutoClass &classobj, TDestruct destruct=Quiet)
friend class TAutoIterator
@ Delete
automation object deletes the C++ object serviced
@ PostQuit
automation object posts a quit message to application
@ Quiet
behavior when an automation helper is freed
static ObjectPtr Cast(ObjectPtr from)
Undefined default template for dispatchers Template specialization is used to allow the compiler to l...
Designed to provide support for localized registration parameters, the TLocaleString Struct defines a...
static TLangId UserDefaultLangId
The user-defined default language identifier.
const tchar * Translate(TLangId lang)
translate string
short SymCount
asClass only: symbol count, 0 = uncounted yet
unsigned short TypeFlags
class symbol only (terminator)
long DispId
reserved dispatch ID, if not 0
TAutoIteratorBuild BuildIter
asIterator only: address of iterator builder
TAutoSymTypeConvert Convert
asFactory/asClass: function to perform cast
void * DefaultArg
asArgument: default value, extends to 8 bytes
TAutoCommandBuild Build
asAnyCommand only: address of command builder
TAutoCommandBuildDtr BuildDtr
terminator only: destructor command builder