#pragma once

#ifdef PLATFORM_LINUX
#define MANAGEMENTOBJECTS_API
#elif defined(PLATFORM_WINDOWS)
#ifdef MGMT_OBJETCS_EXPORTS
#define MANAGEMENTOBJECTS_API __declspec(dllexport)
#else
#define MANAGEMENTOBJECTS_API //__declspec(dllimport)
#endif // MGMT_OBJETCS_EXPORTS
#else
#define MANAGEMENTOBJECTS_API
#endif

#include "commontypes.h"

namespace NS_DM_Client
{
	class IMOTreeManager;

	class MANAGEMENTOBJECTS_API IDeviceUpdater
	{
	public:
		virtual ~IDeviceUpdater() {};

		virtual bool Execute(const String& path, IMOTreeManager& treeManager) = 0;
		virtual bool Synchronize(IMOTreeManager& treeManager) = 0;
	};
}
