2010-11-12 16:16:22 +01:00
|
|
|
#ifndef __BUFFER_H_
|
|
|
|
#define __BUFFER_H_
|
2010-11-12 21:37:12 +01:00
|
|
|
#include <string>
|
2010-11-12 16:16:22 +01:00
|
|
|
#include <glibmm.h>
|
|
|
|
#include "defines.h"
|
|
|
|
|
|
|
|
/* This is a threadsafe wrapper around the "frame_t" struct
|
|
|
|
which automates locking during get and set. */
|
|
|
|
|
|
|
|
class Buffer : public sigc::trackable
|
|
|
|
{
|
|
|
|
public:
|
2010-11-12 21:37:12 +01:00
|
|
|
Buffer(std::string _id);
|
2010-11-12 16:16:22 +01:00
|
|
|
~Buffer();
|
|
|
|
|
|
|
|
void set(frame_t);
|
|
|
|
frame_t get();
|
2010-11-12 21:37:12 +01:00
|
|
|
|
|
|
|
std::string get_id();
|
|
|
|
void set_id(std::string id);
|
2010-11-12 16:16:22 +01:00
|
|
|
|
|
|
|
private:
|
2010-11-12 21:37:12 +01:00
|
|
|
std::string id;
|
2010-11-12 16:16:22 +01:00
|
|
|
frame_t frame;
|
|
|
|
|
|
|
|
Glib::Mutex mutex_;
|
|
|
|
};
|
|
|
|
#endif
|