r286 - in trunk/software/gsm0710muxd: data src
smartphones-commits at lists.linuxtogo.org
smartphones-commits at lists.linuxtogo.org
Tue Apr 29 18:06:29 CEST 2008
Author: emdete
Date: 2008-04-29 18:06:29 +0200 (Tue, 29 Apr 2008)
New Revision: 286
Modified:
trunk/software/gsm0710muxd/data/org.pyneo.muxer.service.in
trunk/software/gsm0710muxd/src/gsm0710muxd.c
trunk/software/gsm0710muxd/src/muxercontrol.c
trunk/software/gsm0710muxd/src/muxercontrol.h
Log:
new name for dbus
Modified: trunk/software/gsm0710muxd/data/org.pyneo.muxer.service.in
===================================================================
--- trunk/software/gsm0710muxd/data/org.pyneo.muxer.service.in 2008-04-29 14:50:42 UTC (rev 285)
+++ trunk/software/gsm0710muxd/data/org.pyneo.muxer.service.in 2008-04-29 16:06:29 UTC (rev 286)
@@ -1,4 +1,4 @@
[D-BUS Service]
-Name=org.pyneo.muxer
+Name=org.freesmartphone.GSM.MUX
Exec=@sbindir@/gsm0710muxd
User=root
Modified: trunk/software/gsm0710muxd/src/gsm0710muxd.c
===================================================================
--- trunk/software/gsm0710muxd/src/gsm0710muxd.c 2008-04-29 14:50:42 UTC (rev 285)
+++ trunk/software/gsm0710muxd/src/gsm0710muxd.c 2008-04-29 16:06:29 UTC (rev 286)
@@ -56,7 +56,7 @@
// ~/Source/openmoko/build/tmp/work/i686-linux/glib-2.0-native-2.12.4-r1/glib-2.12.4/tests/mainloop-test.c
// http://www.linuxquestions.org/questions/linux-software-2/dbus-problem-505442/
-// dbus-send --system --print-reply --type=method_call --dest=org.pyneo /org/pyneo/Muxer org.freesmartphone.GSM.MUX.AllocChannel string:xxx
+// dbus-send --system --print-reply --type=method_call --dest=org.pyneo.muxer /org/pyneo/Muxer org.freesmartphone.GSM.MUX.AllocChannel string:xxx
///////////////////////////////////////////////////////////////// defines
#define LOG(lvl, f, ...) do{if(lvl<=syslog_level)syslog(lvl,"%s:%d:%s(): " f "\n", __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);}while(0)
@@ -125,14 +125,6 @@
unsigned char *data;
} GSM0710_Frame;
-// for storing tempoary GSM0710_Buffer data in advanced option mode
-typedef struct GSM0710_AdvancedFrame
-{
- unsigned char data[GSM0710_BUFFER_SIZE];
- int length;
- int found_esc;
-} GSM0710_AdvancedFrame;
-
//
typedef struct GSM0710_Buffer
{
@@ -143,7 +135,9 @@
int flag_found;// set if last character read was flag
unsigned long received_count;
unsigned long dropped_count;
- GSM0710_AdvancedFrame *advtmp;
+ unsigned char adv_data[GSM0710_BUFFER_SIZE];
+ int adv_length;
+ int adv_found_esc;
} GSM0710_Buffer;
// Channel data
@@ -658,7 +652,7 @@
return TRUE;
}
-static gboolean c_alloc_channel(const char* origin, char** name)
+static gboolean c_alloc_channel(const char* origin, const char** name)
{
LOG(LOG_DEBUG, "Enter");
int i;
@@ -726,7 +720,7 @@
GObject* obj = (GObject*)muxer_control_gen();
DBusError err;
memset(&err, 0, sizeof(err));
- if (dbus_bus_request_name(dbus_g_connection_get_connection(g_conn), "org.pyneo", DBUS_NAME_FLAG_ALLOW_REPLACEMENT|DBUS_NAME_FLAG_REPLACE_EXISTING, &err) < 0)
+ if (dbus_bus_request_name(dbus_g_connection_get_connection(g_conn), "org.pyneo.muxer", DBUS_NAME_FLAG_ALLOW_REPLACEMENT|DBUS_NAME_FLAG_REPLACE_EXISTING, &err) < 0)
{
if (dbus_error_is_set(&err))
LOG(LOG_ERR, "dbus error with dbus_bus_request_name '%s' '%s'", err.name, err.message);
@@ -830,14 +824,13 @@
static GSM0710_Buffer *gsm0710_buffer_init(
)
{
- GSM0710_Buffer *buf;
- if ((buf = (GSM0710_Buffer*)malloc(sizeof(GSM0710_Buffer))))
+ GSM0710_Buffer* buf = (GSM0710_Buffer*)malloc(sizeof(GSM0710_Buffer));
+ if (buf)
{
memset(buf, 0, sizeof(GSM0710_Buffer));
buf->readp = buf->data;
buf->writep = buf->data;
buf->endp = buf->data + GSM0710_BUFFER_SIZE;
- buf->advtmp = 0;
}
return buf;
}
@@ -850,8 +843,6 @@
static void gsm0710_buffer_destroy(
GSM0710_Buffer* buf)
{
- if (buf->advtmp)
- free(buf->advtmp);
free(buf);
}
@@ -1045,13 +1036,6 @@
GSM0710_Buffer * buf)
{
LOG(LOG_DEBUG, "Enter");
- if (!buf->advtmp)
- {
- if ((buf->advtmp = (GSM0710_AdvancedFrame*)malloc(sizeof(GSM0710_AdvancedFrame))) != NULL)
- memset(buf->advtmp, 0, sizeof(GSM0710_AdvancedFrame));
- else
- LOG(LOG_ALERT, "Out of memory, when allocating space for frame");
- }
l_begin:
//Find start flag
while (!buf->flag_found && gsm0710_buffer_length(buf) > 0)
@@ -1059,28 +1043,28 @@
if (*buf->readp == GSM0710_FRAME_ADV_FLAG)
{
buf->flag_found = 1;
- buf->advtmp->length = 0;
- buf->advtmp->found_esc = 0;
+ buf->adv_length = 0;
+ buf->adv_found_esc = 0;
}
gsm0710_buffer_inc(buf, buf->readp);
}
if (!buf->flag_found)// no frame started
return NULL;
- if (0 == buf->advtmp->length)
+ if (0 == buf->adv_length)
//skip empty frames (this causes troubles if we're using DLC 62)
while (gsm0710_buffer_length(buf) > 0 && (*buf->readp == GSM0710_FRAME_ADV_FLAG))
gsm0710_buffer_inc(buf, buf->readp);
while (gsm0710_buffer_length(buf) > 0)
{
- if (!buf->advtmp->found_esc && GSM0710_FRAME_ADV_FLAG == *(buf->readp))
+ if (!buf->adv_found_esc && GSM0710_FRAME_ADV_FLAG == *(buf->readp))
{// closing flag found
GSM0710_Frame *frame = NULL;
- unsigned char *data = buf->advtmp->data;
+ unsigned char *data = buf->adv_data;
unsigned char fcs = 0xFF;
gsm0710_buffer_inc(buf, buf->readp);
- if (buf->advtmp->length < 3)
+ if (buf->adv_length < 3)
{
- LOG(LOG_WARNING, "Too short adv frame, length:%d", buf->advtmp->length);
+ LOG(LOG_WARNING, "Too short adv frame, length:%d", buf->adv_length);
buf->flag_found = 0;
goto l_begin;
}
@@ -1090,7 +1074,7 @@
fcs = r_crctable[fcs ^ data[0]];
frame->control = data[1];
fcs = r_crctable[fcs ^ data[1]];
- frame->length = buf->advtmp->length - 3;
+ frame->length = buf->adv_length - 3;
}
else
LOG(LOG_ALERT, "Out of memory, when allocating space for frame");
@@ -1115,7 +1099,7 @@
}
}
//check FCS
- if (r_crctable[fcs ^ data[buf->advtmp->length - 1]] != 0xCF)
+ if (r_crctable[fcs ^ data[buf->adv_length - 1]] != 0xCF)
{
LOG(LOG_WARNING, "Dropping frame: FCS doesn't match");
destroy_frame(frame);
@@ -1131,25 +1115,25 @@
return frame;
}
}
- if (buf->advtmp->length >= sizeof(buf->advtmp->data))
+ if (buf->adv_length >= sizeof(buf->adv_data))
{
- LOG(LOG_WARNING, "Too long adv frame, length:%d", buf->advtmp->length);
+ LOG(LOG_WARNING, "Too long adv frame, length:%d", buf->adv_length);
buf->flag_found = 0;
buf->dropped_count++;
goto l_begin;
}
- if (buf->advtmp->found_esc)
+ if (buf->adv_found_esc)
{
- buf->advtmp->data[buf->advtmp->length] = *(buf->readp) ^ GSM0710_FRAME_ADV_ESC_COPML;
- buf->advtmp->length++;
- buf->advtmp->found_esc = 0;
+ buf->adv_data[buf->adv_length] = *(buf->readp) ^ GSM0710_FRAME_ADV_ESC_COPML;
+ buf->adv_length++;
+ buf->adv_found_esc = 0;
}
else if (GSM0710_FRAME_ADV_ESC == *(buf->readp))
- buf->advtmp->found_esc = 1;
+ buf->adv_found_esc = 1;
else
{
- buf->advtmp->data[buf->advtmp->length] = *(buf->readp);
- buf->advtmp->length++;
+ buf->adv_data[buf->adv_length] = *(buf->readp);
+ buf->adv_length++;
}
gsm0710_buffer_inc(buf, buf->readp);
}
Modified: trunk/software/gsm0710muxd/src/muxercontrol.c
===================================================================
--- trunk/software/gsm0710muxd/src/muxercontrol.c 2008-04-29 14:50:42 UTC (rev 285)
+++ trunk/software/gsm0710muxd/src/muxercontrol.c 2008-04-29 16:06:29 UTC (rev 286)
@@ -8,12 +8,16 @@
#include <dbus/dbus-glib-lowlevel.h>
#include <dbus/dbus-glib.h>
+
+
+
enum {
MUXER_CONTROL_DUMMY_PROPERTY
};
static gpointer muxer_control_parent_class = NULL;
+
void muxer_control_run (MuxerControl* self) {
GError * inner_error;
DBusGConnection* conn;
@@ -30,24 +34,29 @@
gboolean muxer_control_reset_modem (MuxerControl* self, const char* origin) {
g_return_val_if_fail (IS_MUXER_CONTROL (self), FALSE);
+ g_return_val_if_fail (origin != NULL, FALSE);
return c_reset_modem (origin);
}
gboolean muxer_control_set_power (MuxerControl* self, const char* origin, gboolean on) {
g_return_val_if_fail (IS_MUXER_CONTROL (self), FALSE);
+ g_return_val_if_fail (origin != NULL, FALSE);
return c_set_power (origin, on);
}
gboolean muxer_control_get_power (MuxerControl* self, const char* origin, gboolean on) {
g_return_val_if_fail (IS_MUXER_CONTROL (self), FALSE);
+ g_return_val_if_fail (origin != NULL, FALSE);
return c_get_power (origin);
}
gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, const char* channel) {
g_return_val_if_fail (IS_MUXER_CONTROL (self), FALSE);
+ g_return_val_if_fail (origin != NULL, FALSE);
+ g_return_val_if_fail (channel != NULL, FALSE);
return c_alloc_channel (origin, channel);
}
Modified: trunk/software/gsm0710muxd/src/muxercontrol.h
===================================================================
--- trunk/software/gsm0710muxd/src/muxercontrol.h 2008-04-29 14:50:42 UTC (rev 285)
+++ trunk/software/gsm0710muxd/src/muxercontrol.h 2008-04-29 16:06:29 UTC (rev 286)
@@ -45,6 +45,7 @@
MuxerControl* muxer_control_new (void);
GType muxer_control_get_type (void);
+
G_END_DECLS
#endif
More information about the Smartphones-commits
mailing list