BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __BSE_SUPER_H__ 00003 #define __BSE_SUPER_H__ 00004 00005 #include <bse/bsecontainer.hh> 00006 00007 G_BEGIN_DECLS 00008 00009 /* --- object type macros --- */ 00010 #define BSE_TYPE_SUPER (BSE_TYPE_ID (BseSuper)) 00011 #define BSE_SUPER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SUPER, BseSuper)) 00012 #define BSE_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SUPER, BseSuperClass)) 00013 #define BSE_IS_SUPER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SUPER)) 00014 #define BSE_IS_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SUPER)) 00015 #define BSE_SUPER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SUPER, BseSuperClass)) 00016 /* --- BseSuper member macros --- */ 00017 #define BSE_SUPER_NEEDS_CONTEXT(object) ((BSE_OBJECT_FLAGS (object) & BSE_SUPER_FLAG_NEEDS_CONTEXT) != 0) 00018 00019 typedef enum /*< skip >*/ 00020 { 00021 BSE_SUPER_FLAG_NEEDS_CONTEXT = 1 << (BSE_CONTAINER_FLAGS_USHIFT + 0), 00022 } BseSuperFlags; 00023 #define BSE_SUPER_FLAGS_USHIFT (BSE_CONTAINER_FLAGS_USHIFT + 1) 00024 00025 struct BseSuper : BseContainer { 00026 SfiTime creation_time; 00027 SfiTime mod_time; 00028 /* for BseProject */ 00029 guint context_handle; 00030 }; 00031 struct BseSuperClass : BseContainerClass { 00032 void (*modified) (BseSuper *super, 00033 SfiTime stamp); 00034 void (*compat_finish) (BseSuper *super, 00035 guint vmajor, 00036 guint vminor, 00037 guint vmicro); 00038 }; 00039 00040 G_END_DECLS 00041 #endif /* __BSE_SUPER_H__ */