#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 #include #include #include #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 buffers; std::string id; Glib::Threads::Mutex mutex_; std::string selected_buffer; }; #endif