(COS_Object_retain_function_table): New variable.
authorMORIOKA Tomohiko <tomo.git@chise.org>
Tue, 16 Apr 2013 09:42:39 +0000 (18:42 +0900)
committerMORIOKA Tomohiko <tomo.git@chise.org>
Tue, 16 Apr 2013 09:42:39 +0000 (18:42 +0900)
(cos_retain_string): New prototype.
(cos_retain_symbol): New prototype.
(cos_retain_cons): New prototype.
(cos_retain_container): New prototype.
(cos_retain_sexp): New prototype.
(cos_retain_binary): New prototype.
(cos_retain_ds): New prototype.
(cos_retain_genre): New prototype.
(cos_retain_feature): New prototype.
(cos_retain_index): New prototype.
(cos_retain_db_object): New prototype.

cos-i.h

diff --git a/cos-i.h b/cos-i.h
index 73450dc..4ed5540 100644 (file)
--- a/cos-i.h
+++ b/cos-i.h
@@ -115,6 +115,7 @@ enum COS_Object_Type {
 #define COS_FAT_OBJECT_TYPE_MIN COS_Object_Type_String
 #define COS_OBJECT_TYPE_MAX COS_Object_Type_DB_Object
 
+extern int (*COS_Object_retain_function_table[]) (COS_Object);
 extern int (*COS_Object_release_function_table[]) (COS_Object);
 
 struct COS_Object_ent
@@ -179,6 +180,7 @@ struct COS_String_ent
   unsigned char* data;
 };
 
+int cos_retain_string (COS_Object obj);
 int cos_release_string (COS_Object obj);
 
 
@@ -192,6 +194,7 @@ struct COS_Symbol_ent
 
 COS_Symbol cos_make_symbol (COS_String string);
 
+int cos_retain_symbol (COS_Object obj);
 int cos_release_symbol (COS_Object obj);
 
 
@@ -229,6 +232,7 @@ struct COS_Cons_ent
 #define COS_CDR(obj) \
   (((COS_Cons)(obj))->cdr)
 
+int cos_retain_cons (COS_Object obj);
 int cos_release_cons (COS_Object obj);
 
 
@@ -243,6 +247,7 @@ struct COS_Container_ent
   COS_Object* data;
 };
 
+int cos_retain_container (COS_Object obj);
 int cos_release_container (COS_Object obj);
 
 
@@ -254,6 +259,7 @@ struct COS_Sexp_ent
   char* data;
 };
 
+int cos_retain_sexp (COS_Object obj);
 int cos_release_sexp (COS_Object obj);
 
 
@@ -265,22 +271,27 @@ struct COS_Binary_ent
   unsigned char* data;
 };
 
+int cos_retain_binary (COS_Object obj);
 int cos_release_binary (COS_Object obj);
 
 
+int cos_retain_ds (COS_Object obj);
 int cos_release_ds (COS_Object obj);
 
 
+int cos_retain_genre (COS_Object obj);
 int cos_release_genre (COS_Object obj);
 
 int concord_close_genre (COS_Genre genre);
 
 
+int cos_retain_feature (COS_Object obj);
 int cos_release_feature (COS_Object obj);
 
 int concord_close_feature (COS_Feature feature);
 
 
+int cos_retain_index (COS_Object obj);
 int cos_release_index (COS_Object obj);
 
 int concord_close_index (COS_Feature_INDEX table);
@@ -294,6 +305,7 @@ struct COS_DB_Object_ent
   COS_Object id;
 };
 
+int cos_retain_db_object (COS_Object obj);
 int cos_release_db_object (COS_Object obj);
 
 #if 0