BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsesuper.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines