syndilights/frameserver/Buffers.h

45 lines
877 B
C
Raw Normal View History

#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>
2010-11-12 21:37:12 +01:00
#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();
2010-11-12 21:37:12 +01:00
void remove(std::string);
void set_selected_buffer(std::string);
std::string get_selected_buffer();
Buffer* get(int);
private:
vector<Buffer*> buffers;
2010-11-12 21:37:12 +01:00
std::string id;
Glib::Threads::Mutex mutex_;
std::string selected_buffer;
};
#endif