samples/individualsamples/src/org/apidesign/samples/xmms.c
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 20:46:27 +0100
changeset 408 9a439a79c6d0
permissions -rw-r--r--
Use scala 2.10.4 to compile on JDK8
     1 
     2 #include "stdio.h"
     3 
     4 // BEGIN: xmms.spi
     5 void xmms_register_playback(void (*f)(char*));
     6 // END: xmms.spi
     7 
     8 // BEGIN: xmms.api
     9 void xmms_play();
    10 void xmms_pause();
    11 void xmms_add_to_list(char *);
    12 // END: xmms.api
    13 
    14 
    15 //
    16 // implementation
    17 //
    18 
    19 void none() {
    20 }
    21 
    22 void (*callback)(char*) = none;
    23 void xmms_register_playback(void (*f)(char*)) {
    24     callback = f;
    25 }
    26 
    27 void xmms_play() {
    28     callback("Play!");
    29 }
    30 
    31 void xmms_pause() {
    32 }
    33 
    34 //
    35 // test case
    36 //
    37 
    38 // BEGIN: xmms.your.playback
    39 void my_playback_prints(char* text) {
    40   printf("%s\n", text);
    41 }
    42 // END: xmms.your.playback
    43 
    44 int main(char** argsv) {
    45     xmms_register_playback(my_playback_prints);
    46     xmms_play();
    47     xmms_pause();
    48 }
    49