Changeset 5266:8a1aa71fdfa9 in roaraudio for roard/include/plugins.h


Ignore:
Timestamp:
11/15/11 12:13:43 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

define macros for sched registrations in plugins

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/include/plugins.h

    r5191 r5266  
    4545int plugins_reg_proto(struct roard_proto         * proto); 
    4646 
    47 #define ROARD_DL_REG_PROTO(proto) \ 
    48  static int __reg_proto(struct roar_dl_librarypara * para, struct roar_dl_libraryinst * lib) { \ 
     47#define ROARD_DL_REG__UNI_PRE(name) \ 
     48 static int __reg_ ## name(struct roar_dl_librarypara * para, struct roar_dl_libraryinst * lib) { \ 
    4949  size_t i; \ 
    5050 \ 
    51   (void)para, (void)lib; \ 
    52  \ 
    53   for (i = 0; i < (sizeof((proto))/sizeof(*(proto))); i++) \ 
    54    plugins_reg_proto(&((proto)[i])); \ 
     51  (void)para, (void)lib; 
     52 
     53#define ROARD_DL_REG__UNI_POST \ 
    5554 \ 
    5655  return 0; \ 
    5756 } 
     57 
     58#define ROARD_DL_REG_SCHED(sched) \ 
     59 ROARD_DL_REG__UNI_PRE(sched) \ 
     60  for (i = 0; i < (sizeof((sched))/sizeof(*(sched))); i++) \ 
     61   plugins_reg_sched(&((sched)[i])); \ 
     62 ROARD_DL_REG__UNI_POST 
     63 
     64#define ROARD_DL_REGFN_SCHED() ROAR_DL_PLUGIN_REG(ROAR_DL_FN_ROARDSCHED, __reg_sched) 
     65 
     66#define ROARD_DL_REG_PROTO(proto) \ 
     67 ROARD_DL_REG__UNI_PRE(proto) \ 
     68  for (i = 0; i < (sizeof((proto))/sizeof(*(proto))); i++) \ 
     69   plugins_reg_proto(&((proto)[i])); \ 
     70 ROARD_DL_REG__UNI_POST 
    5871 
    5972#define ROARD_DL_REGFN_PROTO() ROAR_DL_PLUGIN_REG(ROAR_DL_FN_PROTO, __reg_proto) 
Note: See TracChangeset for help on using the changeset viewer.