activemq-cpp-3.6.0
InvalidKeyException.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_INVALIDKEYEXCEPTION_H_
19 #define _DECAF_SECURITY_INVALIDKEYEXCEPTION_H_
20 
22 
23 namespace decaf{
24 namespace security{
25 
26  /*
27  * This is the exception for invalid Keys (invalid encoding, wrong length,
28  * uninitialized, etc).
29  */
31  public:
32 
36  InvalidKeyException() throw() {};
37 
43  InvalidKeyException(const Exception& ex) throw()
44  : Exception()
45  {
46  *(Exception*)this = ex;
47  }
48 
55  : Exception()
56  {
57  *(Exception*)this = ex;
58  }
59 
70  InvalidKeyException( const char* file, const int lineNumber,
71  const std::exception* cause,
72  const char* msg, ... ) throw() : Exception( cause )
73  {
74  va_list vargs;
75  va_start( vargs, msg );
76  buildMessage( msg, vargs );
77 
78  // Set the first mark for this exception.
79  setMark( file, lineNumber );
80  }
81 
87  InvalidKeyException( const std::exception* cause ) throw() : Exception( cause ) {}
88 
103  InvalidKeyException( const char* file,
104  const int lineNumber,
105  const char* msg, ...) throw()
106  : Exception()
107  {
108  va_list vargs;
109  va_start(vargs, msg);
110  buildMessage(msg, vargs);
111 
112  // Set the first mark for this exception.
113  setMark(file, lineNumber);
114  }
115 
123  virtual InvalidKeyException* clone() const{
124  return new InvalidKeyException(*this);
125  }
126 
127  virtual ~InvalidKeyException() throw() {}
128 
129  };
130 
131 }}
132 
133 #endif /*_DECAF_SECURITY_INVALIDKEYEXCEPTION_H_*/