#include <string.h>
#include <errno.h>
+#define MODE_MATCH 0
+#define MODE_MATCHMORE 1
+#define MODE_CANMATCH 2
+
static char *tdesc = "Realtime Switch";
/* Realtime switch looks up extensions in the supplied realtime table.
} else \
res = -1;
-static struct ast_variable *realtime_switch_common(const char *table, const char *context, const char *exten, int priority)
+static struct ast_variable *realtime_switch_common(const char *table, const char *context, const char *exten, int priority, int mode)
{
struct ast_variable *var;
char pri[20];
static int realtime_exists(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
{
- REALTIME_COMMON;
+ REALTIME_COMMON(MODE_MATCH);
if (var) ast_destroy_realtime(var);
if (var)
res = 1;
static int realtime_canmatch(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
{
- REALTIME_COMMON;
+ REALTIME_COMMON(MODE_CANMATCH);
if (var) ast_destroy_realtime(var);
if (var)
res = 1;
char *appdata="";
struct ast_app *a;
struct ast_variable *v;
- REALTIME_COMMON;
+ REALTIME_COMMON(MODE_MATCH);
if (var) {
v = var;
while(v) {
static int realtime_matchmore(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
{
- REALTIME_COMMON;
+ REALTIME_COMMON(MODE_MATCHMORE);
if (var) ast_destroy_realtime(var);
return res > 0 ? res : 0;
}