summaryrefslogtreecommitdiffstats
path: root/src/base/main/mainInt.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-10-23 18:19:51 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-10-23 18:19:51 -0700
commit96c9792f33a76962c022fb484a8d153112591756 (patch)
treeca2ec7f95dc8aec568f26aa3523b9c35959bd42a /src/base/main/mainInt.h
parent49caf258d4c5e9da857e312c930fc77d9ff57989 (diff)
parent392390d23e726ed796f8018c3d0a003758c1559b (diff)
downloadabc-96c9792f33a76962c022fb484a8d153112591756.tar.gz
abc-96c9792f33a76962c022fb484a8d153112591756.tar.bz2
abc-96c9792f33a76962c022fb484a8d153112591756.zip
Merged in sterin/abc (pull request #9)
make it easy to add intialization functions to Abc_FrameInit()/Abc_FrameEnd()
Diffstat (limited to 'src/base/main/mainInt.h')
-rw-r--r--src/base/main/mainInt.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/base/main/mainInt.h b/src/base/main/mainInt.h
index 8bccc632..f145b379 100644
--- a/src/base/main/mainInt.h
+++ b/src/base/main/mainInt.h
@@ -132,6 +132,20 @@ struct Abc_Frame_t_
EXT_ABC_FRAME // plugin for external functionality
};
+typedef void (*Abc_Frame_Initialization_Func)( Abc_Frame_t * pAbc );
+
+struct Abc_FrameInitializer_t_;
+typedef struct Abc_FrameInitializer_t_ Abc_FrameInitializer_t;
+
+struct Abc_FrameInitializer_t_
+{
+ Abc_Frame_Initialization_Func init;
+ Abc_Frame_Initialization_Func destroy;
+
+ Abc_FrameInitializer_t* next;
+ Abc_FrameInitializer_t* prev;
+};
+
////////////////////////////////////////////////////////////////////////
/// GLOBAL VARIABLES ///
////////////////////////////////////////////////////////////////////////
@@ -150,6 +164,7 @@ extern ABC_DLL int main( int argc, char * argv[] );
/*=== mvInit.c ===================================================*/
extern ABC_DLL void Abc_FrameInit( Abc_Frame_t * pAbc );
extern ABC_DLL void Abc_FrameEnd( Abc_Frame_t * pAbc );
+extern ABC_DLL void Abc_FrameAddInitializer( Abc_FrameInitializer_t* p );
/*=== mvFrame.c =====================================================*/
extern ABC_DLL Abc_Frame_t * Abc_FrameAllocate();
extern ABC_DLL void Abc_FrameDeallocate( Abc_Frame_t * p );