00001 #ifndef QPID_CLUSTER_DISPATCHABLE_H 00002 #define QPID_CLUSTER_DISPATCHABLE_H 00003 00004 /* 00005 * 00006 * Copyright (c) 2006 The Apache Software Foundation 00007 * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); 00009 * you may not use this file except in compliance with the License. 00010 * You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, software 00015 * distributed under the License is distributed on an "AS IS" BASIS, 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00017 * See the License for the specific language governing permissions and 00018 * limitations under the License. 00019 * 00020 */ 00021 00022 namespace qpid { 00023 namespace cluster { 00024 00029 class Dispatchable 00030 { 00031 public: 00032 virtual ~Dispatchable() {} 00033 00035 virtual void dispatchOne() = 0; 00037 virtual void dispatchAll() = 0; 00039 virtual void dispatchBlocking() = 0; 00040 00044 virtual void dispatchSome() { dispatchOne(); dispatchAll(); } 00045 00046 }; 00047 00048 }} // namespace qpid::cluster 00049 00050 00051 00052 #endif