summaryrefslogtreecommitdiffstats
path: root/lib/picoknow.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/picoknow.c')
-rw-r--r--lib/picoknow.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/lib/picoknow.c b/lib/picoknow.c
new file mode 100644
index 0000000..70b471c
--- /dev/null
+++ b/lib/picoknow.c
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @file picoknow.c
+ *
+ * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
+ * All rights reserved.
+ *
+ * History:
+ * - 2009-04-20 -- initial version
+ *
+ */
+
+#include "picodefs.h"
+#include "picoos.h"
+#include "picodbg.h"
+#include "picoknow.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if 0
+}
+#endif
+
+
+/** class : KnowledgeBase
+ * shortcut : kb
+ *
+ */
+extern picoknow_KnowledgeBase picoknow_newKnowledgeBase(picoos_MemoryManager mm)
+{
+ picoknow_KnowledgeBase this;
+ PICODBG_TRACE(("start"));
+
+ this = picoos_allocate(mm,sizeof(*this));
+ if (NULL != this) {
+ PICODBG_TRACE(("allocated KnowledgeBase at address %i with size %i",(picoos_uint32)this,sizeof(*this)));
+ /* initialize */
+ this->next = NULL;
+ this->id = PICOKNOW_KBID_NULL;
+ this->base = NULL;
+ this->size = 0;
+ this->subObj = NULL;
+ this->subDeallocate = NULL;
+ }
+ return this;
+}
+
+extern void picoknow_disposeKnowledgeBase(picoos_MemoryManager mm, picoknow_KnowledgeBase * this)
+{
+ picoos_uint8 id;
+ if (NULL != (*this)) {
+ id = (*this)->id;
+ PICODBG_TRACE(("disposing KnowledgeBase id=%i",id));
+ /* terminate */
+ if ((*this)->subObj != NULL) {
+ (*this)->subDeallocate((*this),mm);
+ }
+ picoos_deallocate(mm,(void**)this);
+ }
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/* End picoknow.c */