#include <msp/core/mutex.h>
#include <msp/core/thread.h>
#include <msp/datafile/objectloader.h>
#include <msp/core/mutex.h>
#include <msp/core/thread.h>
#include <msp/datafile/objectloader.h>
bool set(T v) { if(v==pending) return false; pending = v; ++serial; return true; }
bool commit(unsigned short s) { if(s!=serial) return false; current = pending; return true; }
bool set(T v) { if(v==pending) return false; pending = v; ++serial; return true; }
bool commit(unsigned short s) { if(s!=serial) return false; current = pending; return true; }
virtual bool get_work(PendingCommand &) = 0;
virtual void process_reply(const char *, unsigned) { }
virtual bool get_work(PendingCommand &) = 0;
virtual void process_reply(const char *, unsigned) { }
- unsigned add_accessory(Accessory::Kind, unsigned, unsigned);
+ unsigned add_accessory(Accessory::Kind, unsigned, unsigned, unsigned);
void remove_accessory(Accessory::Kind, unsigned);
void set_accessory(Accessory::Kind, unsigned, unsigned);
unsigned get_accessory(Accessory::Kind, unsigned) const;
void remove_accessory(Accessory::Kind, unsigned);
void set_accessory(Accessory::Kind, unsigned, unsigned);
unsigned get_accessory(Accessory::Kind, unsigned) const;
virtual void set_sensor(unsigned, bool) { }
virtual bool get_sensor(unsigned) const;
virtual void set_sensor(unsigned, bool) { }
virtual bool get_sensor(unsigned) const;