qmf/engine/ConnectionSettings.h Source File

Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

qmf/engine/ConnectionSettings.h
Go to the documentation of this file.

    00001 #ifndef _QmfEngineConnectionSettings_
    00002 #define _QmfEngineConnectionSettings_
    00003
    00004 /*
    00005  * Licensed to the Apache Software Foundation (ASF) under one
    00006  * or more contributor license agreements.  See the NOTICE file
    00007  * distributed with this work for additional information
    00008  * regarding copyright ownership.  The ASF licenses this file
    00009  * to you under the Apache License, Version 2.0 (the
    00010  * "License"); you may not use this file except in compliance
    00011  * with the License.  You may obtain a copy of the License at
    00012  *
    00013  *   http://www.apache.org/licenses/LICENSE-2.0
    00014  *
    00015  * Unless required by applicable law or agreed to in writing,
    00016  * software distributed under the License is distributed on an
    00017  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    00018  * KIND, either express or implied.  See the License for the
    00019  * specific language governing permissions and limitations
    00020  * under the License.
    00021  */
    00022
    00023 #include "qmf/engine/QmfEngineImportExport.h"
    00024 #include "qpid/sys/IntegerTypes.h"
    00025
    00026 namespace qmf {
    00027 namespace engine {
    00028
    00029     class ConnectionSettingsImpl;
    00030     class Value;
    00031
    00037     class ConnectionSettings {
    00038     public:
    00039
    00048         QMFE_EXTERN ConnectionSettings();
    00049
    00063         QMFE_EXTERN ConnectionSettings(const char* url);
    00064
    00068         ConnectionSettings(const ConnectionSettings& from);
    00069
    00073         QMFE_EXTERN ~ConnectionSettings();
    00074
    00085         QMFE_EXTERN bool setAttr(const char* key, const Value& value);
    00086
    00094         QMFE_EXTERN Value getAttr(const char* key) const;
    00095
    00103         QMFE_EXTERN const char* getAttrString() const;
    00104
    00110         QMFE_EXTERN void transportTcp(uint16_t port = 5672);
    00111         QMFE_EXTERN void transportSsl(uint16_t port = 5671);
    00112         QMFE_EXTERN void transportRdma(uint16_t port = 5672);
    00113
    00127         QMFE_EXTERN void authAnonymous(const char* username = 0);
    00128         QMFE_EXTERN void authPlain(const char* username = 0, const char* password = 0);
    00129         QMFE_EXTERN void authGssapi(const char* serviceName, uint32_t minSsf = 0, uint32_t maxSsf = 256);
    00130
    00140         QMFE_EXTERN void setRetry(int delayMin = 1, int delayMax = 128, int delayFactor = 2);
    00141
    00142     private:
    00143         friend class ResilientConnectionImpl;
    00144         ConnectionSettingsImpl* impl;
    00145     };
    00146
    00147 }
    00148 }
    00149
    00150 #endif