Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

XKMSRegisterResult.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004-2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * XSEC
00019  *
00020  * XKMSRegisterResult := Interface for RegisterResult Messages
00021  *
00022  * $Id: XKMSRegisterResult.hpp 383073 2006-03-04 08:22:16Z blautenb $
00023  *
00024  */
00025 
00026 #ifndef XKMSREGISTERRESULT_INCLUDE
00027 #define XKMSREGISTERRESULT_INCLUDE
00028 
00029 // XSEC Includes
00030 
00031 #include <xsec/framework/XSECDefs.hpp>
00032 #include <xsec/xkms/XKMSResultType.hpp>
00033 #include <xsec/xkms/XKMSStatus.hpp>
00034 
00035 class XKMSKeyBinding;
00036 class XKMSUnverifiedKeyBinding;
00037 class XKMSRSAKeyPair;
00038 class XENCCipherData;
00039 
00070 class XKMSRegisterResult : public XKMSResultType {
00071 
00074 
00075 protected:
00076 
00077     XKMSRegisterResult() {};
00078 
00079 public:
00080 
00081     virtual ~XKMSRegisterResult() {};
00082 
00085 
00090     virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * getElement(void) const = 0;
00091 
00093 
00096 
00103     virtual int getKeyBindingSize(void) const = 0;
00104 
00105     /*
00106      * \brief Obtain an KeyBinding item
00107      *
00108      * @param item Index of the item to return (0 = first element)
00109      * @returns the KeyBinding referenced by "item"
00110      */
00111 
00112     virtual XKMSKeyBinding * getKeyBindingItem(int item) const = 0;
00113 
00114     /*
00115      * \brief Append a new KeyBinding element
00116      *
00117      * Allows callers to append a new KeyBinding item.
00118      * The item is initially empty of KeyInfo elements - these must be added
00119      * by the caller.
00120      *
00121      * @param status The status (Valid, Invalid or Indeterminate) of this
00122      * key
00123      * @returns the newly created KeyBinding object (already inserted
00124      * in the RegisterResult
00125      */
00126 
00127     virtual XKMSKeyBinding * appendKeyBindingItem(XKMSStatus::StatusValue status) = 0;
00128 
00130 
00133 
00149     virtual XKMSRSAKeyPair * getRSAKeyPair(const char * passPhrase) = 0;
00150 
00181     virtual XENCEncryptedData * setRSAKeyPair(const char * passPhrase,
00182         XMLCh * Modulus,
00183         XMLCh * Exponent,
00184         XMLCh * P,
00185         XMLCh * Q,
00186         XMLCh * DP,
00187         XMLCh * DQ,
00188         XMLCh * InverseQ,
00189         XMLCh * D,
00190         encryptionMethod em,
00191         const XMLCh * algorithmURI = NULL) = 0;
00192 
00194 
00195 
00196 private:
00197 
00198     // Unimplemented
00199     XKMSRegisterResult(const XKMSRegisterResult &);
00200     XKMSRegisterResult & operator = (const XKMSRegisterResult &);
00201 
00202 };
00203 
00204 #endif /* XKMSREGISTERRESULT_INCLUDE */

Generated on Sun Jan 28 19:37:23 2007 for XML-Security-C by  doxygen 1.4.2