#ifndef AbstractValueWriterH
#define AbstractValueWriterH

#include "device/sync/ValueWriter.h"
#include <string>

class AbstractValueWriter : public ValueWriter
{

 private:
	AbstractValueWriter();
	AbstractValueWriter(const AgString & name);
    ~AbstractValueWriter();
    AbstractValueWriter(AbstractValueWriter const&);
   void operator=(AbstractValueWriter const&);
    AgString name;

 public:
    void write(DataTablePtr value, CallerControllerPtr callerController,RequestControllerPtr requestController);

	static AbstractValueWriter& getInstance()
    {
     static AbstractValueWriter instance;
     return instance;
    }
    const AgString& toString();
};

#endif 
