CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
transform.h
1#pragma once
2
3#include <xml/xml_document.h>
4#include <system/string.h>
5#include <system/shared_ptr.h>
6#include <system/object.h>
7#include <system/collections/idictionary.h>
8#include <security/cryptography/hash_algorithm.h>
9#include <cstdint>
10
11namespace System { namespace Xml { class XmlElement; } }
12namespace System { namespace Xml { class XmlNodeList; } }
13namespace System { namespace Xml { class XmlResolver; } }
14
15namespace System { namespace Security { namespace Cryptography { namespace Xml { class Reference; } } } }
16namespace System { namespace Security { namespace Cryptography { namespace Xml { class SignedInfo; } } } }
17namespace System { namespace Security { namespace Cryptography { namespace Xml { class SignedXml; } } } }
18namespace System { namespace Security { namespace Cryptography { namespace Xml { class SignedXmlDebugLog; } } } }
19namespace System { namespace Security { namespace Cryptography { namespace Xml { class TransformChain; } } } }
20
21namespace System { namespace Security { namespace Cryptography { namespace Xml {
22
23namespace Details { struct SignedXmlImpl; }
24namespace Details { struct TransformChainImpl; }
25
30class ASPOSECPP_SHARED_CLASS Transform : public Object
31{
32 typedef Transform ThisType;
33 typedef Object BaseType;
34
35 typedef BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
36 ASPOSECPP_SHARED_RTTI_INFO_DECL();
37
38 friend class Reference;
39 friend class SignedInfo;
40 friend class SignedXml;
41 friend class SignedXmlDebugLog;
42 friend class TransformChain;
43 friend struct Details::SignedXmlImpl;
44 friend struct Details::TransformChainImpl;
45
46public:
47 ASPOSECPP_SHARED_API String get_Algorithm();
48 ASPOSECPP_SHARED_API void set_Algorithm(String value);
49 virtual ASPOSECPP_SHARED_API ArrayPtr<TypeInfo> get_InputTypes() = 0;
50 virtual ASPOSECPP_SHARED_API ArrayPtr<TypeInfo> get_OutputTypes() = 0;
52 ASPOSECPP_SHARED_API void set_Context(SharedPtr<System::Xml::XmlElement> value);
54
55 virtual ASPOSECPP_SHARED_API void LoadInnerXml(SharedPtr<System::Xml::XmlNodeList> nodeList) = 0;
56 virtual ASPOSECPP_SHARED_API void LoadInput(SharedPtr<Object> obj) = 0;
57 virtual ASPOSECPP_SHARED_API SharedPtr<Object> GetOutput() = 0;
58 virtual ASPOSECPP_SHARED_API SharedPtr<Object> GetOutput(const TypeInfo& type) = 0;
60 ASPOSECPP_SHARED_API void set_Resolver(SharedPtr<System::Xml::XmlResolver> value);
61
62protected:
64 void set_BaseURI(String value);
71
72 ASPOSECPP_SHARED_API Transform();
73
74 bool AcceptsType(const TypeInfo& inputType);
77 virtual ASPOSECPP_SHARED_API SharedPtr<System::Xml::XmlNodeList> GetInnerXml() = 0;
78#ifdef ASPOSE_GET_SHARED_MEMBERS
79 ASPOSECPP_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
80#endif
81
82private:
83 String m_algorithm;
84 String m_base_uri;
85 bool m_resolver_set;
86 WeakPtr<SignedXml> m_signed_xml;
87 WeakPtr<Reference> m_reference;
91};
92
93}}}} // System::Security::Cryptography::Xml
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:62
Facilitates creation of the XML signatures. Objects of this class should only be allocated using Syst...
Definition: reference.h:27
Represents the 'SignedInfo' element of the XML signature. Objects of this class should only be alloca...
Definition: signed_info.h:26
Used for XML signing and verification. Objects of this class should only be allocated using System::M...
Definition: signed_xml.h:30
Represents an ordered chain of transforms. Objects of this class should only be allocated using Syste...
Definition: transform_chain.h:24
Provides information about transforming the data by the signer. Objects of this class should only be ...
Definition: transform.h:31
virtual SharedPtr< Object > GetOutput()=0
void set_Context(SharedPtr< System::Xml::XmlElement > value)
virtual SharedPtr< Object > GetOutput(const TypeInfo &type)=0
virtual ArrayPtr< TypeInfo > get_OutputTypes()=0
SharedPtr< Reference > get_Reference() const
void set_SignedXml(SharedPtr< SignedXml > value)
SharedPtr< System::Xml::XmlResolver > get_Resolver() const
virtual void LoadInput(SharedPtr< Object > obj)=0
virtual ArrayPtr< uint8_t > GetDigestedOutput(SharedPtr< HashAlgorithm > hash)
SharedPtr< System::Xml::XmlElement > GetXml(SharedPtr< System::Xml::XmlDocument > document)
bool AcceptsType(const TypeInfo &inputType)
virtual SharedPtr< System::Xml::XmlNodeList > GetInnerXml()=0
SharedPtr< System::Xml::XmlElement > GetXml(SharedPtr< System::Xml::XmlDocument > document, String name)
virtual ArrayPtr< TypeInfo > get_InputTypes()=0
SharedPtr< System::Xml::XmlElement > get_Context()
virtual void LoadInnerXml(SharedPtr< System::Xml::XmlNodeList > nodeList)=0
SharedPtr< Collections::Generic::IDictionary< String, String > > get_PropagatedNamespaces()
void set_Reference(SharedPtr< Reference > value)
void set_Resolver(SharedPtr< System::Xml::XmlResolver > value)
SharedPtr< SignedXml > get_SignedXml() const
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
String class used across the library. Is a substitute for C# System.String when translating code....
Definition: string.h:122
Represents a particular type and provides information about it.
Definition: type_info.h:109
Subclass of System::SmartPtr which sets itself to weak mode at construction. Please note that this cl...
Definition: weak_ptr.h:18
@ Xml
Serialize according to the XML 1.0 rules.
Definition: db_command.h:9