BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsesuper.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_SUPER_H__
3 #define __BSE_SUPER_H__
4 
5 #include <bse/bsecontainer.hh>
6 
7 G_BEGIN_DECLS
8 
9 /* --- object type macros --- */
10 #define BSE_TYPE_SUPER (BSE_TYPE_ID (BseSuper))
11 #define BSE_SUPER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SUPER, BseSuper))
12 #define BSE_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SUPER, BseSuperClass))
13 #define BSE_IS_SUPER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SUPER))
14 #define BSE_IS_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SUPER))
15 #define BSE_SUPER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SUPER, BseSuperClass))
16 /* --- BseSuper member macros --- */
17 #define BSE_SUPER_NEEDS_CONTEXT(object) ((BSE_OBJECT_FLAGS (object) & BSE_SUPER_FLAG_NEEDS_CONTEXT) != 0)
18 
19 typedef enum /*< skip >*/
20 {
21  BSE_SUPER_FLAG_NEEDS_CONTEXT = 1 << (BSE_CONTAINER_FLAGS_USHIFT + 0),
22 } BseSuperFlags;
23 #define BSE_SUPER_FLAGS_USHIFT (BSE_CONTAINER_FLAGS_USHIFT + 1)
24 
26  SfiTime creation_time;
27  SfiTime mod_time;
28  /* for BseProject */
29  guint context_handle;
30 };
32  void (*modified) (BseSuper *super,
33  SfiTime stamp);
34  void (*compat_finish) (BseSuper *super,
35  guint vmajor,
36  guint vminor,
37  guint vmicro);
38 };
39 
40 G_END_DECLS
41 
42 namespace Bse {
43 
44 class SuperImpl : public ContainerImpl, public virtual SuperIface {
45 protected:
46  virtual ~SuperImpl ();
47 public:
48  explicit SuperImpl (BseObject*);
49 };
50 
51 } // Bse
52 
53 #endif /* __BSE_SUPER_H__ */
Definition: bsecontainer.hh:108
Definition: bsecontainer.hh:26
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Definition: bsesuper.hh:25
Definition: bsesuper.hh:31
Definition: bsecontainer.hh:29
See also the corresponding IDL class Super.
Definition: bseserverapi.hh:989
Definition: bseobject.hh:61
Definition: bsesuper.hh:44