00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 #ifndef COH_ABSTRACT_INVOCABLE_HPP
00017 #define COH_ABSTRACT_INVOCABLE_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/net/Invocable.hpp"
00022 #include "coherence/net/InvocationService.hpp"
00023 #include "coherence/net/PriorityTask.hpp"
00024 
00025 COH_OPEN_NAMESPACE2(coherence,net)
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 class COH_EXPORT AbstractInvocable
00034     : public abstract_spec<AbstractInvocable,
00035         extends<Object>,
00036         implements<Invocable> >
00037     {
00038     
00039 
00040     public:
00041 
00042 
00043 
00044 
00045 
00046         virtual void init(InvocationService::Handle hService);
00047 
00048 
00049 
00050 
00051 
00052 
00053         virtual Object::Holder getResult() const;
00054 
00055 
00056 
00057 
00058 
00059 
00060         virtual void run();
00061     };
00062 
00063 COH_CLOSE_NAMESPACE2
00064 
00065 #endif // COH_ABSTRACT_INVOCABLE_HPP