activemq-cpp-3.8.2
ProviderService.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef _DECAF_SECURITY_PROVIDERSERVICE_H_
19 #define _DECAF_SECURITY_PROVIDERSERVICE_H_
20 
21 #include <decaf/util/Config.h>
22 
23 #include <string>
24 
25 namespace decaf {
26 namespace security {
27 
28  class Provider;
29  class SecuritySpi;
30 
32  private:
33 
34  const Provider* provider;
35  std::string type;
36  std::string algorithm;
37 
38  public:
39 
40  ProviderService(const Provider* provider, const std::string& type, const std::string& algorithm);
41 
42  virtual ~ProviderService();
43 
49  std::string getType() const {
50  return this->type;
51  }
52 
59  std::string getAlgorithm() const {
60  return this->algorithm;
61  }
62 
71  const Provider* getProvider() const {
72  return provider;
73  }
74 
82  virtual SecuritySpi* newInstance() = 0;
83 
90  std::string toString() const {
91  return getType() + "." + getAlgorithm();
92  }
93 
94  };
95 
96 }}
97 
98 #endif /* _DECAF_SECURITY_PROVIDERSERVICE_H_ */
std::string getType() const
Gets the type of service this ProviderService instance supports.
Definition: ProviderService.h:49
This class represents a "provider" for the Decaf Security API, where a provider implements some or al...
Definition: Provider.h:46
const Provider * getProvider() const
Returns a pointer to the Provider that owns this ProviderService.
Definition: ProviderService.h:71
std::string toString() const
Return a String representation of this service.
Definition: ProviderService.h:90
Base class used as a Marker for all Security Provider Interface classes in the Decaf Security API...
Definition: SecuritySpi.h:32
std::string getAlgorithm() const
Gets the algorithm name that this ProviderService supplies for its service type.
Definition: ProviderService.h:59
Definition: ProviderService.h:31
#define DECAF_API
Definition: Config.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25