My Project
server.hpp
1 #ifndef __SERVER_HPP__
2 #define __SERVER_HPP__
3 
4 #include "db.hpp"
5 #include "queue.hpp"
6 #include "song.hpp"
7 
8 #include <stdlib.h>
9 #include <string>
10 #include <fstream>
11 #include <thread>
12 
16 class AudioServer {
17 
18 public:
19 
25  AudioServer(Db *db);
26 
32  static void playVideo(std::string url);
33 
37  Song getCurrentSong(void) { return currentSong; }
38 
44  bool isPlaying(void);
45 
51  void playSong(Song s);
52 
56  void upvoteCurrentSong(void);
57 
61  void downvoteCurrentSong(void);
62 
66  void playNext(void);
67 
73  void addSong(Song s) { q.addSong(s); }
74 
81  void addSong(std::string user, std::string url);
82 
88  void run(void);
89 
96  void run(std::string fname);
97 
98 private:
99  Db *database;
100  Queue q;
101  Song currentSong;
108  static void runForever(AudioServer *server);
109 };
110 
111 
112 #endif /* __SERVER_HPP__ */
bool isPlaying(void)
Definition: server.cpp:25
void playSong(Song s)
Definition: server.cpp:42
Definition: song.hpp:10
Definition: db.hpp:16
Definition: queue.hpp:13
void addSong(Song s)
Definition: queue.cpp:14
Definition: server.hpp:16
static void playVideo(std::string url)
Definition: server.cpp:15
void run(void)
Definition: server.cpp:62
void addSong(Song s)
Definition: server.hpp:73
void playNext(void)
Definition: server.cpp:54
void upvoteCurrentSong(void)
Definition: server.cpp:46
Song getCurrentSong(void)
Definition: server.hpp:37
AudioServer(Db *db)
Definition: server.cpp:9
void downvoteCurrentSong(void)
Definition: server.cpp:50