PureMVC PureMVC

include/PureMVC/Interfaces/IProxy.hpp

Go to the documentation of this file.
00001 //  IProxy.hpp
00002 //  PureMVC_C++
00003 //
00004 //  PureMVC Port to C++ by Tang Khai Phuong <phuong.tang@puremvc.org>
00005 //  PureMVC - Copyright(c) 2006-2011 Futurescale, Inc., Some rights reserved.
00006 //  Your reuse is governed by the Creative Commons Attribution 3.0 License
00007 //
00008 
00009 #if !defined(__PUREMVC_INTERFACES_IPROXY_HPP__)
00010 #define __PUREMVC_INTERFACES_IPROXY_HPP__
00011 
00012 // STL include
00013 #include <string>
00014 // PureMVC include
00015 #if !defined(__PUREMVC_HPP__)
00016 #define __PUREMVC_INCLUDE__
00017 #include "../PureMVC.hpp"
00018 #endif /* __PUREMVC_HPP__ */
00019 
00020 #include "INotifier.hpp"
00021 
00022 namespace PureMVC
00023 {
00024     namespace Interfaces
00025     {
00026         struct PUREMVC_API IProxy : public virtual INotifier
00027         {
00033             virtual std::string const& getProxyName(void) const = 0;
00034 
00040             virtual void setData(void const* data) = 0;
00041 
00047             virtual void const* getData(void) const = 0;
00048 
00052             virtual void onRegister(void) = 0;
00053 
00057             virtual void onRemove(void) = 0;
00058 
00062             virtual ~IProxy(void);
00063         };
00064     }
00065 }
00066 
00067 #endif /* __PUREMVC_INTERFACES_IPROXY_HPP__ */