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