Changeset 5335:dba934a2d1e0 in roaraudio for include


Ignore:
Timestamp:
12/09/11 18:13:39 (12 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

cleanup and updates to roardl API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/roardl.h

    r5327 r5335  
    9898                                   } 
    9999 
     100// general stuff: 
    100101#define ROAR_DL_PLUGIN_ABORT_LOADING(err) roar_err_set((err)); return NULL 
    101102#define ROAR_DL_PLUGIN_CHECK_VERSIONS(app,abi) if ( roar_dl_para_check_version(para, (app), (abi)) == -1 ) return NULL 
     103 
     104// register stuff: 
    102105#define ROAR_DL_PLUGIN_REG(fn, funcptr) (lib.func[(fn)] = (funcptr)) 
    103106#define ROAR_DL_PLUGIN_REG_UNLOAD(func) (lib.unload = (func)) 
     
    106109                                                 lib.global_data_init = &(init);       \ 
    107110                                                 lib.global_data_pointer = (void*)&(ptr) 
     111 
     112// meta data stuff: 
     113#define ROAR_DL_PLUGIN_META_PRODUCT(x)      (libname.libname     = (x)) 
     114#define ROAR_DL_PLUGIN_META_PRODUCT_NV(name,vendor)      ROAR_DL_PLUGIN_META_PRODUCT(name " <" vendor ">") 
     115#define ROAR_DL_PLUGIN_META_PRODUCT_NIV(name,id,vendor)  ROAR_DL_PLUGIN_META_PRODUCT(name " <" #id "/" vendor ">") 
     116#define ROAR_DL_PLUGIN_META_VERSION(x)      (libname.libversion  = (x)) 
     117#define ROAR_DL_PLUGIN_META_ABI(x)          (libname.abiversion  = (x)) 
     118#define ROAR_DL_PLUGIN_META_DESC(x)         (libname.description = (x)) 
     119#define ROAR_DL_PLUGIN_META_CONTACT(x)      (libname.contact = (x)) 
     120#define ROAR_DL_PLUGIN_META_CONTACT_FL(first,last)        ROAR_DL_PLUGIN_META_CONTACT(first " " last) 
     121#define ROAR_DL_PLUGIN_META_CONTACT_FLE(first,last,email) ROAR_DL_PLUGIN_META_CONTACT(first " " last " <" email ">") 
     122#define ROAR_DL_PLUGIN_META_CONTACT_FLNE(first,last,nick,email) ROAR_DL_PLUGIN_META_CONTACT(first " \"" nick "\" " last " <" email ">") 
     123#define ROAR_DL_PLUGIN_META_AUTHORS(x)      (libname.authors = (x)) 
     124#define ROAR_DL_PLUGIN_META_LICENSE(x)      (libname.license = (x)) 
     125#define ROAR_DL_PLUGIN_META_LICENSE_TAG(x)  ROAR_DL_PLUGIN_META_LICENSE(ROAR_LICENSE_ ## x) 
    108126 
    109127enum roar_dl_loadercmd { 
     
    116134 ROAR_DL_LOADER_POSTUNLOAD 
    117135}; 
     136 
     137struct roar_plugincontainer; 
    118138 
    119139struct roar_dl_librarypara { 
     
    147167                            // Examples: libroar2, 0.5.1 
    148168 struct roar_notify_core * notifycore; 
    149  int (*loader)(struct roar_dl_librarypara * lhandle, enum roar_dl_loadercmd cmd, void * argp); 
     169 struct roar_plugincontainer * container; 
     170 int (*loader)(struct roar_dl_librarypara * lhandle, void * loader_userdata, enum roar_dl_loadercmd cmd, void * argp); 
     171 void * loader_userdata; 
    150172}; 
    151173 
     
    169191 int      version; 
    170192 size_t   len; 
     193 uint32_t flags; 
    171194 const char * name; 
    172195 const char * libname; 
     
    192215 int (*free)  (struct roar_dl_librarypara * para); 
    193216 int (*update)(struct roar_dl_librarypara * para); 
     217 int (*tick)  (struct roar_dl_librarypara * para); 
     218 int (*wait)  (struct roar_dl_librarypara * para); 
    194219}; 
    195220 
     
    199224 ROAR_DL_APPSCHED_FREE, 
    200225#define ROAR_DL_APPSCHED_FREE ROAR_DL_APPSCHED_FREE 
    201  ROAR_DL_APPSCHED_UPDATE 
     226 ROAR_DL_APPSCHED_UPDATE, 
    202227#define ROAR_DL_APPSCHED_UPDATE ROAR_DL_APPSCHED_UPDATE 
     228 ROAR_DL_APPSCHED_TICK, 
     229#define ROAR_DL_APPSCHED_TICK ROAR_DL_APPSCHED_TICK 
     230 ROAR_DL_APPSCHED_WAIT 
     231#define ROAR_DL_APPSCHED_WAIT ROAR_DL_APPSCHED_WAIT 
    203232}; 
    204233 
Note: See TracChangeset for help on using the changeset viewer.