Include <cos.h>.
authorMORIOKA Tomohiko <tomo.git@chise.org>
Mon, 1 Apr 2013 05:38:28 +0000 (14:38 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Mon, 1 Apr 2013 05:38:28 +0000 (14:38 +0900)
(CONCORD_Object): Use `COS_Object' instead of `void*' as the type.
(COS_DS_ent): Renamed from `CONCORD_DS_Table'.
(COS_DS): New type.
(CONCORD_DS): Use `COS_DS' instead of `CONCORD_DS_Table*' as the type.
(concord_open_env): New prototype.
(COS_Genre_ent): Renamed from `CONCORD_Genre_Table'.
(COS_Genre): New type.
(CONCORD_Genre): Use `COS_Genre' instead of `CONCORD_Genre_Table*' as
the type.
(concord_get_genre): New prototype.
(COS_Feature_ent): Renamed from `CONCORD_Feature_Table'.
(COS_Feature): New type.
(CONCORD_Feature): Use `COS_Feature' instead of
`CONCORD_Feature_Table*' as the type.
(concord_get_feature): New prototype.
(COS_Feature_INDEX_ent): Renamed from `CONCORD_INDEX_Table'.
(COS_Feature_INDEX): New type.
(CONCORD_INDEX): Use `COS_Feature_INDEX' instead of
`CONCORD_INDEX_Table*' as the type.
(concord_get_feature_index): New prototype.
(concord_index_get_name): New prototype.
(concord_index_get_genre): New prototype.
(concord_decode_object): New prototype.

concord.h

index 3b8ec69..04f821b 100644 (file)
--- a/concord.h
+++ b/concord.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003,2004,2005,2006 MORIOKA Tomohiko
+/* Copyright (C) 2003, 2004, 2005, 2006, 2013 MORIOKA Tomohiko
    This file is part of the CONCORD Library.
 
    The CONCORD Library is free software; you can redistribute it and/or
@@ -27,6 +27,7 @@ extern "C" {
 #endif
 
 #include <db.h>
+#include <cos.h>
 
 typedef DBT CONCORD_String_Tank;
 typedef CONCORD_String_Tank* CONCORD_String;
@@ -35,7 +36,7 @@ int CONCORD_String_size (const CONCORD_String s);
 unsigned char* CONCORD_String_data (const CONCORD_String s);
 
 
-typedef void* CONCORD_Object;
+typedef COS_Object CONCORD_Object;
 
 typedef enum CONCORD_Backend_Type
 {
@@ -44,13 +45,16 @@ typedef enum CONCORD_Backend_Type
 } CONCORD_Backend_Type;
 
 
-typedef struct CONCORD_DS_Table CONCORD_DS_Table;
-typedef CONCORD_DS_Table* CONCORD_DS;
+typedef struct COS_DS_ent COS_DS_ent;
+typedef COS_DS_ent* COS_DS;
+typedef COS_DS CONCORD_DS;
 
 CONCORD_DS
 concord_open_ds (CONCORD_Backend_Type type, const char* location,
                 int subtype, int modemask);
 
+COS_DS concord_open_env (COS_object ds);
+
 int concord_close_ds (CONCORD_DS ds);
 
 char* concord_ds_location (CONCORD_DS ds);
@@ -68,12 +72,16 @@ concord_ds_foreach_genre_name (CONCORD_DS ds,
                               int (*func) (CONCORD_DS ds, char* name));
 
 
-typedef struct CONCORD_Genre_Table CONCORD_Genre_Table;
-typedef CONCORD_Genre_Table* CONCORD_Genre;
+typedef struct COS_Genre_ent COS_Genre_ent;
+typedef COS_Genre_ent* COS_Genre;
+typedef COS_Genre CONCORD_Genre;
 
 CONCORD_Genre
 concord_ds_get_genre (CONCORD_DS ds, const char* name);
 
+COS_Genre
+concord_get_genre (COS_object ds, COS_object genre);
+
 char* concord_genre_get_name (CONCORD_Genre genre);
 
 CONCORD_DS concord_genre_get_data_source (CONCORD_Genre genre);
@@ -84,12 +92,17 @@ concord_genre_foreach_feature_name (CONCORD_Genre genre,
                                                 char* name));
 
 
-typedef struct CONCORD_Feature_Table CONCORD_Feature_Table;
-typedef CONCORD_Feature_Table* CONCORD_Feature;
+typedef struct COS_Feature_ent COS_Feature_ent;
+typedef COS_Feature_ent* COS_Feature;
+typedef COS_Feature CONCORD_Feature;
 
 CONCORD_Feature
 concord_genre_get_feature (CONCORD_Genre genre, const char* name);
 
+COS_Feature
+concord_get_feature (COS_object ds,
+                    COS_object genre, COS_object feature);
+
 char* concord_feature_get_name (CONCORD_Feature feature);
 
 CONCORD_Genre concord_feature_get_genre (CONCORD_Feature feature);
@@ -123,12 +136,21 @@ concord_feature_foreach_obj_string (CONCORD_Feature feature,
                                     CONCORD_String valdatum));
 
 
-typedef struct CONCORD_INDEX_Table CONCORD_INDEX_Table;
-typedef CONCORD_INDEX_Table* CONCORD_INDEX;
+typedef struct COS_Feature_INDEX_ent COS_Feature_INDEX_ent;
+typedef COS_Feature_INDEX_ent* COS_Feature_INDEX;
+typedef COS_Feature_INDEX CONCORD_INDEX;
 
 CONCORD_INDEX
 concord_genre_get_index (CONCORD_Genre genre, const char* name);
 
+COS_Feature_INDEX
+concord_get_feature_index (COS_object ds,
+                          COS_object genre, COS_object feature);
+
+char* concord_index_get_name (CONCORD_INDEX index);
+
+CONCORD_Genre concord_index_get_genre (CONCORD_INDEX index);
+
 int concord_index_setup_db (CONCORD_INDEX index, int writable);
 
 int concord_index_sync (CONCORD_INDEX index);
@@ -141,6 +163,11 @@ int concord_index_strid_get_obj_string (CONCORD_INDEX index,
                                        const char* strid,
                                        CONCORD_String object_id);
 
+
+COS_object
+concord_decode_object (COS_object ds, COS_object genre,
+                      COS_object feature, COS_object id);
+
 #if 0
 {
 #endif