activemq-cpp-3.6.0
CertificateParsingException.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_CERT_CERTIFICATEPARSINGEXCEPTION_H_
19 #define _DECAF_SECURITY_CERT_CERTIFICATEPARSINGEXCEPTION_H_
20 
21 #include <decaf/util/Config.h>
23 
24 namespace decaf{
25 namespace security{
26 namespace cert{
27 
28  /*
29  * Certificate Parsing Exception. This is thrown whenever an invalid
30  * DER-encoded certificate is parsed or unsupported DER features are found
31  * in the Certificate.
32  */
34  {
35  public:
36 
41 
47  CertificateParsingException(const Exception& ex) throw()
48  : Exception()
49  {
50  *(Exception*)this = ex;
51  }
52 
59  : Exception()
60  {
61  *(Exception*)this = ex;
62  }
63 
78  CertificateParsingException( const char* file,
79  const int lineNumber,
80  const char* msg, ...) throw()
81  : Exception()
82  {
83  va_list vargs;
84  va_start(vargs, msg);
85  buildMessage(msg, vargs);
86 
87  // Set the first mark for this exception.
88  setMark(file, lineNumber);
89  }
90 
99  return new CertificateParsingException(*this);
100  }
101 
102  virtual ~CertificateParsingException() throw() {}
103 
104  };
105 
106 }}}
107 
108 #endif /*_DECAF_SECURITY_CERT_CERTIFICATEPARSINGEXCEPTION_H_*/