Component.h
Go to the documentation of this file.
00001 #ifndef Component_H
00002 #define Component_H
00003 
00004 #include <vector>
00005 
00006 using namespace std;
00007 
00008 class Component
00009 {
00010 private:
00011         vector<Component *> subComponents;
00012         Component *parent;
00013         string name;
00014 
00015 public:
00016         Component(void)
00017         {
00018         }
00019 
00020         virtual ~Component(void)
00021         {
00022         }
00023         
00024         Component* getParentComponent();
00025         {
00026                 return parent;
00027         }
00028         void add(Component *childComponent)
00029         {
00030                 subComponents.push_back(childComponent);
00031                 childComponent->parent = this;
00032         }
00033         string getName()
00034         {
00035                 return name;
00036         }
00037         
00038         Component* getComponent(string name)
00039         {
00040                 for(vector<Component *>::iterator iter = subComponents.begin(); iter != subComponents.end() ; iter ++)
00041                 {
00042                         if((*iter)->getName().compare(name) == 0)
00043                         {
00044                                 return *iter;
00045                         }
00046                 }
00047                 return NULL;
00048         }
00049 
00050 
00051 
00052 
00053 
00054         // component
00055         virtual void initialize() = 0;
00056 
00057 };
00058 
00059 
00060 #endif
00061 


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:28