63 #include "gw-config.h" 83 void *pack_func,
void *unpack_func)
96 ret = store_redis_init(
cfg);
99 error(0,
"Unknown 'store-type' defined.");
121 #if LOG_TIMESTAMP_LOCALTIME 131 (
msg->sms.sms_type ==
mo ?
"MO" :
136 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
137 tm.tm_hour, tm.tm_min, tm.tm_sec,
142 msg->sms.mclass,
msg->sms.coding,
msg->sms.mwi,
msg->sms.compress,
161 "<tr><td>SMS ID</td><td>Type</td><td>Time</td><td>Sender</td><td>Receiver</td>" 162 "<td>SMSC ID</td><td>BOX ID</td><td>Flags</td>" 163 "<td>UDH</td><td>Message</td>" 166 format =
"<tr><td>%s</td><td>%s</td>" 167 "<td>%04d-%02d-%02d %02d:%02d:%02d</td>" 168 "<td>%s</td><td>%s</td><td>%s</td>" 169 "<td>%s</td><td>%ld:%ld:%ld:%ld:%ld</td><td>%E</td><td>%E</td></tr>\n";
171 format =
"\t<message>\n\t<id>%s</id>\n\t<type>%s</type>\n\t" 172 "<time>%04d-%02d-%02d %02d:%02d:%02d</time>\n\t" 173 "<sender>%s</sender>\n\t" 174 "<receiver>%s</receiver>\n\t<smsc-id>%s</smsc-id>\n\t" 175 "<box-id>%s</box-id>\n\t" 176 "<flags>%ld:%ld:%ld:%ld:%ld</flags>\n\t" 177 "<udh-data>%E</udh-data>\n\t<msg-data>%E</msg-data>\n\t" 180 octstr_append_cstr(ret,
"[SMS ID] [Type] [Time] [Sender] [Receiver] [SMSC ID] [BOX ID] [Flags] [UDH] [Message]\n");
181 format =
"[%s] [%s] [%04d-%02d-%02d %02d:%02d:%02d] [%s] [%s] [%s] [%s] [%ld:%ld:%ld:%ld:%ld] [%E] [%E]\n";
void error(int err, const char *fmt,...)
struct tm gw_gmtime(time_t t)
int(* store_save_ack)(Msg *msg, ack_status_t status)
long(* store_messages)(void)
void uuid_unparse(const uuid_t uu, char *out)
Octstr * store_status(int status_type)
Msg *(* store_msg_unpack)(Octstr *os)
static void format(char *buf, const char *fmt)
void octstr_append_cstr(Octstr *ostr, const char *cstr)
#define octstr_get_cstr(ostr)
void(* store_for_each_message)(void(*callback_fn)(Msg *msg, void *data), void *data)
Octstr * octstr_imm(const char *cstr)
int store_init(Cfg *cfg, const Octstr *type, const Octstr *fname, long dump_freq, void *pack_func, void *unpack_func)
#define octstr_create(cstr)
Octstr *(* store_msg_pack)(Msg *msg)
void(* store_shutdown)(void)
struct tm gw_localtime(time_t t)
int(* store_load)(void(*receive_msg)(Msg *))
int octstr_str_compare(const Octstr *ostr, const char *str)
void octstr_format_append(Octstr *os, const char *fmt,...)
static void status_cb(Msg *msg, void *d)
int(* store_save)(Msg *msg)
int store_spool_init(const Octstr *fname)
int store_file_init(const Octstr *fname, long dump_freq)
static XMLRPCDocument * msg