00001 /* 00002 * 00003 * Licensed to the Apache Software Foundation (ASF) under one 00004 * or more contributor license agreements. See the NOTICE file 00005 * distributed with this work for additional information 00006 * regarding copyright ownership. The ASF licenses this file 00007 * to you under the Apache License, Version 2.0 (the 00008 * "License"); you may not use this file except in compliance 00009 * with the License. You may obtain a copy of the License at 00010 * 00011 * http://www.apache.org/licenses/LICENSE-2.0 00012 * 00013 * Unless required by applicable law or agreed to in writing, 00014 * software distributed under the License is distributed on an 00015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 00016 * KIND, either express or implied. See the License for the 00017 * specific language governing permissions and limitations 00018 * under the License. 00019 * 00020 */ 00021 #include <string> 00022 00023 #ifndef _Exchange_ 00024 #define _Exchange_ 00025 00026 namespace qpid { 00027 namespace client { 00028 00051 class Exchange{ 00052 const std::string name; 00053 const std::string type; 00054 00055 public: 00061 static const std::string DIRECT_EXCHANGE; 00071 static const std::string TOPIC_EXCHANGE; 00072 00077 static const std::string XML_EXCHANGE; 00078 00084 static const std::string HEADERS_EXCHANGE; 00085 00090 static const Exchange DEFAULT_EXCHANGE; 00094 static const Exchange STANDARD_DIRECT_EXCHANGE; 00098 static const Exchange STANDARD_TOPIC_EXCHANGE; 00102 static const Exchange STANDARD_HEADERS_EXCHANGE; 00103 00104 Exchange(std::string name, std::string type = DIRECT_EXCHANGE); 00105 const std::string& getName() const; 00106 const std::string& getType() const; 00107 }; 00108 00109 } 00110 } 00111 00112 00113 #endif