Radio plugin: make partially compatible with new API
[src/app-framework-binder.git] / plugins / radio / radio-rtlsdr.h
index 74049a9..056828b 100644 (file)
 #include <pthread.h>
 #include <rtl-sdr.h>
 
+#include "radio-api.h"
 #include "local-def.h"
 
 #define pthread_signal(n, m) pthread_mutex_lock(m); pthread_cond_signal(n); pthread_mutex_unlock(m)
 #define pthread_wait(n, m) pthread_mutex_lock(m); pthread_cond_wait(n, m); pthread_mutex_unlock(m)
 #define BUF_LEN 16*16384
 
-typedef enum { FM, AM } Mode;
 typedef struct dongle_ctx dongle_ctx;
 typedef struct demod_ctx demod_ctx;
 typedef struct output_ctx output_ctx;
@@ -69,7 +69,7 @@ struct output_ctx {
 };
 
 struct dev_ctx {
-    int used;  // radio is free ???
+    int used;  /* TODO: radio is free ??? */
     rtlsdr_dev_t* dev;
     Mode mode;
     float freq;
@@ -84,6 +84,14 @@ struct dev_ctx {
 PUBLIC unsigned int _radio_dev_count (void);
 PUBLIC const char* _radio_dev_name (unsigned int);
 
+PUBLIC unsigned char _radio_on (unsigned int, radioCtxHandleT *);
+PUBLIC void _radio_off (unsigned int);
+PUBLIC void _radio_stop (unsigned int);
+PUBLIC void _radio_play (unsigned int);
+PUBLIC void _radio_set_mode (unsigned int, Mode);
+PUBLIC void _radio_set_freq (unsigned int, double);
+PUBLIC void _radio_set_mute (unsigned int, unsigned char);
+
 STATIC void* _dongle_thread_fn (void *);
 STATIC void* _demod_thread_fn (void *);
 STATIC void* _output_thread_fn (void *);