summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/dcom.idl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-11-01 20:00:02 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:11 -0500
commitdde06904576dfe01e9710721209650dcff228593 (patch)
treea625c2c36d1d7dcba666e7772917808b97f54d3f /source4/librpc/idl/dcom.idl
parentb206afaf00ab9fd16a6e62fc9ff07078bd03b989 (diff)
downloadsamba-dde06904576dfe01e9710721209650dcff228593.tar.gz
samba-dde06904576dfe01e9710721209650dcff228593.tar.bz2
samba-dde06904576dfe01e9710721209650dcff228593.zip
r3440: Add support for "coclass" to the pidl parser - the idl keyword that
describes a COM class. A coclass is the implementation of one or more interfaces. It has a UUID referred to as it's CLSID (Class ID). Also adding an example coclass called "CoffeeMachine". You can give it a string (or a cup, whatever you like ;-) and it will fill it with "COFFEE" (kind of the like the echo pipe is for regular RPC). CoffeeMachine's Windows implementation already works, a torture test for Samba will follow soon. (This used to be commit 05dd840b6ffba0d38d98e2e80d856e2f2b5d877c)
Diffstat (limited to 'source4/librpc/idl/dcom.idl')
-rw-r--r--source4/librpc/idl/dcom.idl18
1 files changed, 18 insertions, 0 deletions
diff --git a/source4/librpc/idl/dcom.idl b/source4/librpc/idl/dcom.idl
index 1d32d723c6..eb470b6908 100644
--- a/source4/librpc/idl/dcom.idl
+++ b/source4/librpc/idl/dcom.idl
@@ -486,3 +486,21 @@ object,
WERROR MarshalInterface();
WERROR UnMarshalInterface();
}
+
+
+[
+uuid(DB7C21F8-FE33-4C11-AEA5-CEB56F076FBB),
+ helpstring("CoffeeMachine Class")
+] coclass CoffeeMachine
+{
+ [
+ uuid(DA23F6DB-6F45-466C-9EED-0B65286F2D78),
+ helpstring("ICoffeeMachine Interface"),
+ pointer_default(unique)
+ ]
+
+ interface ICoffeeMachine : IUnknown
+ {
+ [helpstring("method MakeCoffee")] HRESULT MakeCoffee(BSTR *flavor);
+ }
+}