-#define BE_ILP_SCHED_CALL(func, self, obj, env) \
- do { \
- if ((self)->func) \
- (self)->func((self), (obj), (env)); \
+/**
+ * The actual ILP schedule selector.
+ */
+struct _ilp_sched_selector_t {
+ ilp_sched_selector_if_t *impl;
+};
+
+/**
+ * Some helper macros.
+ */
+#define BE_ILP_SCHED_CALL(func, self, obj, env) \
+ do { \
+ if ((self) && (self)->impl->func) \
+ (self)->impl->func((self), (obj), (env)); \