From 57217916f18214be2c9bb8d10f89ff2047b4f1cd Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sat, 17 Jul 2004 20:25:39 +0000
Subject: [PATCH] First pass at AGI registration

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 res/res_agi.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/res/res_agi.c b/res/res_agi.c
index ba4ab0ec29..e96807b3fa 100755
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -1160,6 +1160,35 @@ static int help_workhorse(int fd, char *match[])
 	return 0;
 }
 
+static int agi_register(agi_command *agi)
+{
+	int x;
+	for (x=0;x<MAX_COMMANDS - 1;x++) {
+		if (commands[x].cmda[0] == agi->cmda[0]) {
+			ast_log(LOG_WARNING, "Command already registered!\n");
+			return -1;
+		}
+	}
+	for (x=0;x<MAX_COMMANDS - 1;x++) {
+		if (!commands[x].cmda[0]) {
+			commands[x] = *agi;
+			return 0;
+		}
+	}
+	ast_log(LOG_WARNING, "No more room for new commands!\n");
+	return -1;
+}
+
+static void agi_unregister(agi_command *agi)
+{
+	int x;
+	for (x=0;x<MAX_COMMANDS - 1;x++) {
+		if (commands[x].cmda[0] == agi->cmda[0]) {
+			memset(&commands[x], 0, sizeof(agi_command));
+		}
+	}
+}
+
 static agi_command *find_command(char *cmds[], int exact)
 {
 	int x;
-- 
GitLab