--- /dev/null
+#include "DSZone.h"
+#include "DSPolicyAreaPrivate.h"
+
+namespace display_server
+{
+
+DSZone::DSZone(std::shared_ptr<DSPolicyArea> policyArea)
+ : __policyArea(policyArea)
+{}
+
+DSZone::~DSZone()
+{}
+
+int DSZone::getX()
+{
+ DSPolicyAreaPrivate *policyAreaPriv = DSPolicyAreaPrivate::getPrivate(__policyArea.get());
+
+ return policyAreaPriv->getX();
+}
+
+int DSZone::getY()
+{
+ DSPolicyAreaPrivate *policyAreaPriv = DSPolicyAreaPrivate::getPrivate(__policyArea.get());
+
+ return policyAreaPriv->getY();
+}
+
+int DSZone::getWidth()
+{
+ DSPolicyAreaPrivate *policyAreaPriv = DSPolicyAreaPrivate::getPrivate(__policyArea.get());
+
+ return policyAreaPriv->getWidth();
+}
+
+int DSZone::getHeight()
+{
+ DSPolicyAreaPrivate *policyAreaPriv = DSPolicyAreaPrivate::getPrivate(__policyArea.get());
+
+ return policyAreaPriv->getHeight();
+}
+
+bool DSZone::addWindow(std::shared_ptr<DSWindow> window)
+{
+ __windowList.push_back(window);
+
+ return true;
+}
+
+bool DSZone::removeWindow(std::shared_ptr<DSWindow> window)
+{
+ __windowList.remove(window);
+
+ return true;
+}
+
+} // namespace display_server
\ No newline at end of file
--- /dev/null
+#ifndef __DS_ZONE_H__
+#define __DS_ZONE_H__
+
+#include <DSCore.h>
+#include "DSWindow.h"
+#include "DSPolicyArea.h"
+
+namespace display_server
+{
+
+class DSZone
+{
+public:
+ explicit DSZone(std::shared_ptr<DSPolicyArea> policyArea);
+ virtual ~DSZone();
+
+ int getX();
+ int getY();
+ int getWidth();
+ int getHeight();
+ bool addWindow(std::shared_ptr<DSWindow> window);
+ bool removeWindow(std::shared_ptr<DSWindow> window);
+
+private:
+ std::shared_ptr<DSPolicyArea> __policyArea;
+ std::list<std::shared_ptr<DSWindow>> __windowList;
+};
+
+}
+
+#endif