syndilights/frameserver/Buffers.h

45 lines
877 B
C++

#ifndef __BUFFERS_H_
#define __BUFFERS_H_
/* This is a thread-safe wrapper around a standard library
vector of pointers to "Buffer" objects. It automates locking during
all operations and generates "ID" hashes for the buffers upon creation. */
/* TODO: * create hashes during buffer creation
* throw and handle exceptions */
#include <glibmm.h>
#include <vector>
#include <string>
#include <time.h>
#include "defines.h"
#include "Buffer.h"
using namespace std;
class Buffers : public sigc::trackable
{
public:
Buffers();
Buffers(int);
~Buffers();
void add();
void remove(std::string);
void set_selected_buffer(std::string);
std::string get_selected_buffer();
Buffer* get(int);
private:
vector<Buffer*> buffers;
std::string id;
Glib::Threads::Mutex mutex_;
std::string selected_buffer;
};
#endif