[Uludag-commits] r16297 - in branches/comar-dbus/comar: include src
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
11 Ara 2007 Sal 19:27:15 EET
Author: bahadir.kandemir
Date: Tue Dec 11 19:27:15 2007
New Revision: 16297
Modified:
branches/comar-dbus/comar/include/dbus.h
branches/comar-dbus/comar/include/utility.h
branches/comar-dbus/comar/src/csl.c
branches/comar-dbus/comar/src/dbus.c
branches/comar-dbus/comar/src/utility.c
Log:
* comar.{remove,listAppModels} raises exceptions if application doesn't exist.
* str methods accept const char* arguments instead of char*
Modified: branches/comar-dbus/comar/include/dbus.h
=================================================================
--- branches/comar-dbus/comar/include/dbus.h (original)
+++ branches/comar-dbus/comar/include/dbus.h Tue Dec 11 19:27:15 2007
@@ -11,7 +11,7 @@
#include <Python.h>
void dbus_send(DBusMessage *reply);
-void dbus_signal(char *path, char *interface, char *name, PyObject *obj);
+void dbus_signal(const char *path, const char *interface, const char *name, PyObject *obj);
void dbus_method_call(DBusMessage* msg, DBusConnection* conn);
void dbus_listen();
void dbus_app_methods(const char *interface, const char *path, const char *method);
Modified: branches/comar-dbus/comar/include/utility.h
=================================================================
--- branches/comar-dbus/comar/include/utility.h (original)
+++ branches/comar-dbus/comar/include/utility.h Tue Dec 11 19:27:15 2007
@@ -9,8 +9,8 @@
#include <sys/time.h>
-char *strsub(char *str, int start, int end);
-char *strrep(char *str, char old, char new);
+char *strsub(const char *str, int start, int end);
+char *strrep(const char *str, char old, char new);
int check_file(const char *fname);
unsigned char *load_file(const char *fname, int *sizeptr);
Modified: branches/comar-dbus/comar/src/csl.c
=================================================================
--- branches/comar-dbus/comar/src/csl.c (original)
+++ branches/comar-dbus/comar/src/csl.c Tue Dec 11 19:27:15 2007
@@ -21,8 +21,8 @@
static PyObject *
c_script(PyObject *self, PyObject *args)
{
- char *path = dbus_message_get_path(my_proc.bus_msg);
- char *app = strsub(path, strlen("/package/"), 0);
+ const char *path = dbus_message_get_path(my_proc.bus_msg);
+ const char *app = strsub(path, strlen("/package/"), 0);
return PyString_FromString(app);
}
@@ -81,7 +81,7 @@
c_notify(PyObject *self, PyObject *args)
{
PyObject *item, *tuple, *result;
- char *interface, *path, *method, *msg;
+ const char *interface, *path, *method, *msg;
if (!PyArg_ParseTuple(args, "ss", &method, &msg))
return NULL;
Modified: branches/comar-dbus/comar/src/dbus.c
=================================================================
--- branches/comar-dbus/comar/src/dbus.c (original)
+++ branches/comar-dbus/comar/src/dbus.c Tue Dec 11 19:27:15 2007
@@ -36,7 +36,7 @@
}
void
-dbus_signal(char *path, char *interface, char *name, PyObject *obj)
+dbus_signal(const char *path, const char *interface, const char *name, PyObject *obj)
{
DBusMessage *msg;
DBusMessageIter iter;
@@ -123,7 +123,7 @@
}
static void
-dbus_introspection(const char *path)
+dbus_introspection_methods(const char *path)
{
char *intros, *app;
@@ -183,15 +183,22 @@
Py_Finalize();
}
else if (strcmp(method, "listApplicationModels") == 0) {
+ Py_Initialize();
args = dbus_py_import(my_proc.bus_msg);
app = PyString_AsString(PyList_GetItem(args, 0));
db_get_models(app, &models);
- Py_Initialize();
- result = py_str_split(models, '|');
- dbus_reply_object(result);
+ if (models == NULL) {
+ log_error("No such application: '%s'\n", app);
+ dbus_reply_error("No such application");
+ }
+ else {
+ result = py_str_split(models, '|');
+ dbus_reply_object(result);
+ }
Py_Finalize();
}
else if (strcmp(method, "register") == 0) {
+ Py_Initialize();
args = dbus_py_import(my_proc.bus_msg);
app = PyString_AsString(PyList_GetItem(args, 0));
model = PyString_AsString(PyList_GetItem(args, 1));
@@ -202,7 +209,6 @@
dbus_reply_error("No such model.");
}
else {
- Py_Initialize();
if (py_compile(script) != 0) {
log_error("Not a valid Python script: '%s'\n", script);
dbus_reply_error("Not a valid Python script.");
@@ -213,23 +219,29 @@
db_register_model(app, model);
dbus_reply_object(Py_True);
}
- Py_Finalize();
}
+ Py_Finalize();
}
else if (strcmp(method, "remove") == 0) {
+ Py_Initialize();
args = dbus_py_import(my_proc.bus_msg);
app = PyString_AsString(PyList_GetItem(args, 0));
db_get_models(app, &models);
- db_remove_app(app);
+ if (models == NULL) {
+ log_error("No such application: '%s'\n", app);
+ dbus_reply_error("No such application");
+ }
+ else {
+ db_remove_app(app);
- Py_Initialize();
- list = py_str_split(models, '|');
- for (i = 0; i < PyList_Size(list); i++) {
- script = get_script_path(app, PyString_AsString(PyList_GetItem(list, i)));
- unlink(script);
+ list = py_str_split(models, '|');
+ for (i = 0; i < PyList_Size(list); i++) {
+ script = get_script_path(app, PyString_AsString(PyList_GetItem(list, i)));
+ unlink(script);
+ }
+ dbus_reply_object(Py_True);
}
- dbus_reply_object(Py_True);
Py_Finalize();
}
else {
@@ -291,7 +303,7 @@
gettimeofday(&time_start, NULL);
if (strcmp(interface, "org.freedesktop.DBus.Introspectable") == 0) {
- dbus_introspection(path);
+ dbus_introspection_methods(path);
}
else if (strncmp(interface, cfg_bus_name, strlen(cfg_bus_name)) == 0) {
if (strcmp(path, "/system") == 0 && strcmp(interface, cfg_bus_name) == 0) {
Modified: branches/comar-dbus/comar/src/utility.c
=================================================================
--- branches/comar-dbus/comar/src/utility.c (original)
+++ branches/comar-dbus/comar/src/utility.c Tue Dec 11 19:27:15 2007
@@ -21,7 +21,7 @@
const char *valid_model_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.";
char *
-strsub(char *str, int start, int end)
+strsub(const char *str, int start, int end)
{
if (start < 0) {
start = strlen(str) + start;
@@ -41,7 +41,7 @@
char *new_src, *t;
new_src = malloc(end - start + 2);
- for (t = str + start; t < str + end; t++) {
+ for (t = (char *) str + start; t < str + end; t++) {
new_src[t - (str + start)] = *t;
}
new_src[t - (str + start)] = '\0';
@@ -49,7 +49,7 @@
}
char *
-strrep(char *str, char old, char new)
+strrep(const char *str, char old, char new)
{
char *new_str, *t;
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi