[SCM] Samba Shared Repository - branch master updated - b5e8d8d22ae599778e889a8df5a18c07c9180af5

Jelmer Vernooij jelmer at samba.org
Fri Sep 19 00:39:42 GMT 2008


The branch, master has been updated
       via  b5e8d8d22ae599778e889a8df5a18c07c9180af5 (commit)
      from  495758a73e125e59921092c893c6e32ba7091fe1 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b5e8d8d22ae599778e889a8df5a18c07c9180af5
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Sep 19 02:39:03 2008 +0200

    initialize a COM context.

-----------------------------------------------------------------------

Summary of changes:
 source4/lib/com/pycom.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/lib/com/pycom.c b/source4/lib/com/pycom.c
index b6d6b77..9222be4 100644
--- a/source4/lib/com/pycom.c
+++ b/source4/lib/com/pycom.c
@@ -20,12 +20,18 @@
 #include "includes.h"
 #include <Python.h>
 #include "lib/com/com.h"
+#include "librpc/ndr/libndr.h"
+#include "libcli/util/pyerrors.h"
+
+static struct com_context *py_com_ctx = NULL; /* FIXME: evil global */
 
 static PyObject *py_get_class_object(PyObject *self, PyObject *args)
 {
 	char *s_clsid, *s_iid;
 	struct GUID clsid, iid;
 	struct IUnknown *object;
+	NTSTATUS status;
+	WERROR error;
 
 	if (!PyArg_ParseTuple(args, "ss", &s_clsid, &s_iid))
 		return NULL;
@@ -42,7 +48,7 @@ static PyObject *py_get_class_object(PyObject *self, PyObject *args)
 		return NULL;
 	}
 
-	error = com_get_class_object(ctx, &clsid, &iid, &object);
+	error = com_get_class_object(py_com_ctx, &clsid, &iid, &object);
 	if (!W_ERROR_IS_OK(error)) {
 		PyErr_FromWERROR(error);
 		return NULL;
@@ -61,8 +67,13 @@ static struct PyMethodDef com_methods[] = {
 void initcom(void)
 {
 	PyObject *m;
+	WERROR error;
 
-	/* FIXME: Initialize COM context and attach it to m. */
+	error = com_init_ctx(&py_com_ctx, NULL);
+	if (!W_ERROR_IS_OK(error)) {
+		PyErr_FromWERROR(error);
+		return;
+	}
 
 	m = Py_InitModule3("com", com_methods, "Simple COM implementation");
 	if (m == NULL)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list