SubjectName.h

Go to the documentation of this file.
00001 /*
00002  * Distributed under the OpenDDS License.
00003  * See: http://www.OpenDDS.org/license.html
00004  */
00005 
00006 #ifndef OPENDDS_SECURITY_SUBJECT_NAME_H
00007 #define OPENDDS_SECURITY_SUBJECT_NAME_H
00008 
00009 #include "dds/Versioned_Namespace.h"
00010 #include "dds/DCPS/security/DdsSecurity_Export.h"
00011 
00012 #include <string>
00013 #include <map>
00014 
00015 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00016 
00017 namespace OpenDDS {
00018 namespace Security {
00019 namespace SSL {
00020 
00021   class DdsSecurity_Export SubjectName
00022   {
00023    public:
00024     SubjectName();
00025     SubjectName(const char*, bool permissive = false);
00026     SubjectName(const std::string&, bool permissive = false);
00027 
00028     /**
00029      * @return int 0 on success; 1 on failure.
00030      */
00031     int parse(const char*, bool permissive = false);
00032 
00033     /**
00034      * @return int 0 on success; 1 on failure.
00035      */
00036     int parse(const std::string&, bool permissive = false);
00037 
00038     bool operator==(const SubjectName&) const;
00039     bool operator!=(const SubjectName&) const;
00040 
00041    protected:
00042     /**
00043      * @return int 0 on success; 1 on failure.
00044      */
00045     int parse_permissive(const char*);
00046 
00047     /**
00048      * @return int 0 on success; 1 on failure.
00049      */
00050     int parse_dce(const char*);
00051 
00052     /**
00053      * @return int 0 on success; 1 on failure.
00054      */
00055     int parse_ldap_v3(const char*);
00056 
00057     int simple_avp_seq_parse(const char* in, const char* s_del,
00058                              const char* a_del, const char* s_trim,
00059                              const char* a_trim, bool push_back);
00060 
00061     typedef std::map<std::string, std::string> AttrMap;
00062     AttrMap map_;
00063   };
00064 
00065 }  // namespace SSL
00066 }  // namespace Security
00067 }  // namespace OpenDDS
00068 
00069 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00070 
00071 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1