FishBundle.hpp

00001 #ifndef __FISH_BONE_FISHBUNDLE_HPP
00002 #define __FISH_BONE_FISHBUNDLE_HPP
00003 
00004 #include "fishboneDllApi.h"
00005 
00006 #include <ocean/plankton/VObject.hpp>
00007 #include <ocean/plankton/VTime.hpp>
00008 #include <ocean/shrimp/Range.hpp>
00009 
00010 #include <bundle/Bundle.hpp>
00011 #include "Fish.hpp"
00012 
00013 namespace Wizt
00014 {
00015         using std::pair;
00016 
00017 
00041 template <>
00042 class   fishbone_API Fish<Fiber::Bundle> : public virtual Fish<VObject>
00043 {
00044         BundleSlot      MySpacetime;
00045 
00046 public:
00047 
00052         BundleSlot&BundleSpacetimeSlot()
00053         {
00054                 return MySpacetime;
00055         } 
00056 
00060         bool setBundlePtr(const RefPtr<ValuePool>&VP, const Fiber::BundlePtr&BP)
00061         {
00062                 return MySpacetime << VP << BP; 
00063         }
00064 
00068         Fish<Fiber::Bundle>(const string&bundlename = "spacetime", const Fiber::BundlePtr&BP = Fiber::BundlePtr(), int EL = 5); 
00069 
00073         Fish<Fiber::Bundle>(int EL, const string&bundlename = "spacetime", const Fiber::BundlePtr&BP = Fiber::BundlePtr());
00074 
00076         ~Fish(); 
00077 
00078 static  void addFiberSaver(VSaveable*what, const RefPtr<VParameter>&VP);
00079 
00080 };
00081 
00082 } // namespace Wizt
00083 
00084 #endif /* __FISH_BONE_FISH_HPP */
00085