00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef DSIGTRANSFORM_INCLUDE
00029 #define DSIGTRANSFORM_INCLUDE
00030
00031 #include <xsec/dsig/DSIGConstants.hpp>
00032 #include <xsec/framework/XSECDefs.hpp>
00033
00034 XSEC_DECLARE_XERCES_CLASS(DOMNode);
00035 XSEC_DECLARE_XERCES_CLASS(DOMElement);
00036 XSEC_DECLARE_XERCES_CLASS(DOMDocument);
00037
00038 #include <stdio.h>
00039
00040 class XSECEnv;
00041 class TXFMChain;
00042
00062 class DSIG_EXPORT DSIGTransform {
00063
00064 public:
00065
00068
00083 DSIGTransform(const XSECEnv * env, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode * node) :
00084 mp_txfmNode(node),
00085 mp_env(env) {};
00086
00099 DSIGTransform(const XSECEnv * env) :
00100 mp_txfmNode(NULL),
00101 mp_env(env) {};
00102
00103
00112 virtual ~DSIGTransform() {};
00113
00115
00119
00127 virtual transformType getTransformType() = 0;
00128
00136 virtual void appendTransformer(TXFMChain * input) = 0;
00137
00145 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMElement *
00146 createBlankTransform(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * parentDoc) = 0;
00147
00155 virtual void load(void) = 0;
00156
00158
00159 protected:
00160
00164
00170 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * createTransformNode();
00171
00172
00173 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode
00174 * mp_txfmNode;
00175 const XSECEnv * mp_env;
00176
00177 private:
00178
00179 DSIGTransform();
00180 DSIGTransform(const DSIGTransform &theOther);
00181
00182 };
00183
00184
00185
00186 #endif