diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-11-09 00:30:44 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:40 -0500 |
commit | b3ef49946f9c064f05e387d8786112809d2f2da6 (patch) | |
tree | 0625e123dcbdec168c2482932dba2b66ce81b98d /source4/rpc_server/dcom/remact.c | |
parent | e056ed97d79c046a7f4b9562ad785fc54719a8ce (diff) | |
download | samba-b3ef49946f9c064f05e387d8786112809d2f2da6.tar.gz samba-b3ef49946f9c064f05e387d8786112809d2f2da6.tar.bz2 samba-b3ef49946f9c064f05e387d8786112809d2f2da6.zip |
r3629: A bit of work on the DCOM server architecture, small fixes
(This used to be commit e7b67ff22fe0a76afc93ee522b253eaf5dccb11d)
Diffstat (limited to 'source4/rpc_server/dcom/remact.c')
-rw-r--r-- | source4/rpc_server/dcom/remact.c | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/source4/rpc_server/dcom/remact.c b/source4/rpc_server/dcom/remact.c index 8259b96a51..086d32a82f 100644 --- a/source4/rpc_server/dcom/remact.c +++ b/source4/rpc_server/dcom/remact.c @@ -24,26 +24,9 @@ #include "rpc_server/dcerpc_server.h" #include "rpc_server/common/common.h" #include "librpc/gen_ndr/ndr_remact.h" +#include "librpc/gen_ndr/ndr_oxidresolver.h" #include "rpc_server/dcom/dcom.h" -static void register_dcom_class(void *_c) -{ - struct dcom_class *class = _c; - /* FIXME */ -} - -struct dcom_object *dcom_object_by_oid(struct GUID *oid) -{ - /* FIXME */ - return NULL; -} - -struct dcom_class *dcom_class_by_clsid(struct GUID *clsid) -{ - /* FIXME */ - return NULL; -} - struct dcom_interface_pointer *dcom_interface_pointer_by_ipid(struct GUID *ipid) { /* FIXME */ @@ -57,10 +40,38 @@ static WERROR RemoteActivation(struct dcesrv_call_state *dce_call, TALLOC_CTX *m { /* FIXME: CoGetClassObject() */ /* FIXME: IClassFactory::CreateInstance() */ + /* FIXME: Register newly created object with dcerpc subsystem */ /* FIXME: IClassFactory::Release() */ + + ZERO_STRUCT(r->out); + r->out.ServerVersion.MajorVersion = COM_MAJOR_VERSION; + r->out.ServerVersion.MinorVersion = COM_MINOR_VERSION; + + /* FIXME: */ + r->out.hr = WERR_NOT_SUPPORTED; + r->out.pOxid = 0; + r->out.AuthnHint = 0; + /* FIXME: Loop thru given interfaces and set r->out.results and + * r->out.interfaces */ + return WERR_NOT_SUPPORTED; } +NTSTATUS dcerpc_server_dcom_init(void) +{ + NTSTATUS status; + status = dcerpc_server_IOXIDResolver_init(); + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + status = dcerpc_server_IRemoteActivation_init(); + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + return NT_STATUS_OK; +} /* include the generated boilerplate */ #include "librpc/gen_ndr/ndr_remact_s.c" |