71#if defined(BI_COMP_BORLANDC)
77IID_TServedObject = {0x02A101L,0,0,{0xC0,0,0,0,0,0,0,0x46}};
94 return TServedCOM::QueryObject (
qid,
pif);
105 : &
objDesc.Class->Aggregate(
const_cast<void*
>(
objDesc.Object), *
this));
132TServedObject::GetTypeInfoCount(
unsigned int *
pctinfo)
139TServedObject::GetTypeInfo(
unsigned int ,
LCID lcid,
143 *
pptinfo =
static_cast<ITypeInfo*
>(
this);
189 WARNX(
OcfDll, !
object, 1,
_T(
"TServedObject::Invoke() Object == 0"));
215 if (!stack.Symbol->TestFlag(
wFlags)) {
216 WARNX(
OcfDll,
true, 1,
_T(
"TServedObject::Invoke() type unsupported"));
239 WARNX(
OcfDll,
true, 1,
_T(
"TServedObject::Invoke() BadParamCount"));
343 fd->lprgelemdescParam = (
ELEMDESC*)(fd+1);
355 TAutoClass*
cls =
sym->GetClass();
359 }
else if (
sym->IsEnum()) {
361 }
else if (
sym->IsArray()) {
365 }
else if (
sym->IsByRef()) {
401 TAutoClass*
cls =
sym->GetClass();
407 }
else if (
sym->IsEnum()) {
409 }
else if (
sym->IsArray()) {
411 vd->elemdescVar.tdesc.lptdesc =
ptrtd;
413 }
else if (
sym->IsByRef()) {
415 vd->elemdescVar.tdesc.lptdesc =
ptrtd;
418 vd->elemdescVar.tdesc.vt =
sym->GetDataType();
512TServedObject::GetFuncDocFromIndex(
unsigned index,
525TServedObject::GetVarDocFromIndex(
unsigned index,
538TServedObject::GetDocFromSym(TAutoSymbol*
sym,
555TServedObject::CreateInstance(IUnknown* ,
const IID & ,
562TServedObject::GetContainingTypeLib(ITypeLib* *
retLib,
596TServedObject::GetImplTypeFlags(
unsigned int ,
int *)
602TServedObject::GetRefTypeOfImplType(
unsigned int ,
TAppDescriptor - OLE application descriptor definitions.
#define WARNX(group, condition, level, message)
#define DIAG_DECLARE_GROUP(group)
bool GetClassId(TAutoClass *cls, GUID &retId)
Retrieves the GUID of the specified TAutoClass instance.
void AddServed(TServedObject &obj)
ITypeLib * GetTypeLibrary()
Returns the 'ITypeLib' interface pointer describing the objects exposed by this instance of 'TAppDesc...
void RemoveServed(TServedObject &obj)
LPCTSTR GetAppName(owl::TLangId lang)
owl::uint16 GetVersionField(owl::uint field)
Returns version as a whole number.
LPCTSTR GetHelpFile(owl::TLangId lang)
ITypeInfo * CreateITypeInfo(TAutoClass &cls)
int GetClassIndex(TAutoClass *cls)
Returns the index of a 'TAutoClass' instance.
TServedObject * FindServed(const void *mostDerivedObj)
TAutoSymbol * Lookup(TCHAR *name, owl::TLangId lang, short symFlags, long &id)
TAutoSymbol * FindVariable(unsigned index, MEMBERID &retId)
TXAuto::TError Dispatch(ObjectPtr obj, TAutoCreator &creator, TUnknown &owner, int attr, TAutoStack &args, TAutoVal *retval)
TAutoSymbol * GetClassSymbol() const
short VariableCount
number of symbols exposed as typelib variables
TAutoSymbol * FindFunction(unsigned index, MEMBERID &retId)
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
short GetArgCount(TAutoSymbol &sym)
unsigned short GetTypeFlags() const
const std::type_info & GetTypeInfo() const
Automation abstract base class for command objects.
void Detach(TServedObject &obj)
IDispatch * CreateDispatch(TObjectDescriptor objDesc, IUnknown *outer=0)
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 & Creator
TObjectDescriptor::TDestruct Destruct
what to do with C++ object
void * Object
pointer to C++ object instance, 0 if deleted
const void * RootObject
pointer to object of most derived class
owl::TLangId ReqLang
language requested by caller
TAutoClass * Class
class of which object is an instance
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.
static BSTR SysAllocString(const OLECHAR *)
Include for OC, gets common headers when precompiled headers are enabled.
Object Component Framework (COM encapsulation)
const void * MostDerived(const void *obj, const std::type_info &src)
@ asOleType
method or property exposed for OLE
@ asAnyCommand
any command: method, property get/set, build
EXTERN_C const GUID IID_TServedObject
Object Windows Library (OWLNext Core)
Definition of TOcControl class - Proxy object representing a control in.
#define HR_DISP_TYPEMISMATCH
#define HR_DISP_UNKNOWNINTERFACE
#define HR_DISP_BADPARAMCOUNT
#define HR_DISP_UNKNOWNNAME
#define HR_TYPE_INVALIDSTATE
#define HR_TYPE_WRONGTYPEKIND
#define HR_DISP_PARAMNOTOPTIONAL
#define HR_DISP_EXCEPTION
#define HR_DISP_BADVARTYPE
#define HR_DISP_PARAMNOTFOUND
#define HR_TYPE_LIBNOTREGISTERED
#define HR_DISP_MEMBERNOTFOUND
OLE Registration definitions.
#define DEFINE_QI_OLEBASE(cls, low)
#define DEFINE_COMBASES2(cls, i1, i2)
@ Quiet
behavior when an automation helper is freed