|
Harlinn.Windows 0.1
|
Base class for OCI handle wrappers. More...
#include <HOCI.h>
Public Member Functions | |
| constexpr void * | Handle () const noexcept |
| Provides access to the value of the handle object. | |
| constexpr | operator bool () const noexcept |
| Test if the handle value is assigned. | |
| constexpr bool | IsValid () const noexcept |
| Test if the handle value is assigned. | |
| constexpr OCI::HandleType | HandleType () const noexcept |
| Returns a value identifying the type of the wrapped handle object. | |
| virtual const OCI::ErrorHandle & | Error () const noexcept=0 |
| Provides access to the OCIError that will be used for OCI calls for this object. | |
Protected Member Functions | |
| constexpr | HandleBase () noexcept |
| Default constructor. | |
| constexpr | HandleBase (OCI::HandleType handleType, void *handle, bool ownsHandle) noexcept |
| Constructs a new HandleBase object. | |
| HandleBase (const HandleBase &other)=delete | |
| constexpr | HandleBase (HandleBase &&other) noexcept |
| Move constructor. | |
| virtual | ~HandleBase () |
| Destructor. | |
| constexpr void | SetHandle (void *newHandleValue, bool ownsHandle) noexcept |
| Assigns the handle value and ownership to this object. | |
| constexpr bool | OwnsHandle () const noexcept |
| Returns true if this object is the owner of the handle value. | |
| void * | DetachHandle () |
| If this object is the owner of a handle this function rescinds that ownership, and returns the handle value without closing the handle. | |
| void | DestroyHandle () |
| Destroys the handle if it is owned by this object. | |
| HandleBase & | operator= (const HandleBase &other)=delete |
| constexpr HandleBase & | operator= (HandleBase &&other) noexcept |
| constexpr void | swap (HandleBase &other) noexcept |
| template<typename Derived > | |
| constexpr void | Take (Derived &&derived) noexcept |
| Template function used to implement move assignement in derived classes. | |
| void | InitializeHandle (void *handle, bool ownsHandle) |
| Provides a "safe" mechanism for assigning a handle value. This functions throws if a handle value is already assigned to this object. | |
| HO_EXPORT Int32 | GetAttribute (void *buffer, UInt32 *size, Attribute attribute) const |
| Gets the value of an attribute from the handle. | |
| HO_EXPORT Int32 | SetAttribute (void *buffer, UInt32 size, Attribute attribute) const |
| Sets the value of an attribute on the handle. | |
| DateTime | GetDateTimeAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a DateTime. | |
| void | SetDateTimeAttribute (Attribute attribute, const DateTime &value) const |
| Sets the value of an attribute on the handle as a DateTime. | |
| template<WideStringLike StringT = WideString> | |
| StringT | GetStringAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a WideString. | |
| template<WideStringLike StringT = WideString> | |
| StringT | GetStringAttributeFromByteString (Attribute attribute) const |
| Gets the value of an attribute from the handle as a WideString For use with attributes that are not returned as UTF-16. | |
| template<WideStringLike StringT> | |
| void | SetStringAttribute (Attribute attribute, const StringT &value) const |
| Sets the value of an attribute on the handle as a WideString. | |
| void | SetStringAttribute (Attribute attribute, const wchar_t *value, size_t valueLength) const |
| bool | GetBooleanAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a bool. | |
| void | SetBooleanAttribute (Attribute attribute, bool value) const |
| Sets the value of an attribute on the handle as a bool. | |
| Byte | GetByteAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a Byte. | |
| void | SetByteAttribute (Attribute attribute, Byte value) const |
| Sets the value of an attribute on the handle as a Byte. | |
| SByte | GetSByteAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a SByte. | |
| void | SetSByteAttribute (Attribute attribute, SByte value) const |
| Sets the value of an attribute on the handle as a Byte. | |
| Int16 | GetInt16Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an Int16. | |
| void | SetInt16Attribute (Attribute attribute, Int16 value) const |
| Sets the value of an attribute on the handle as an Int16. | |
| UInt16 | GetUInt16Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an UInt16. | |
| void | SetUInt16Attribute (Attribute attribute, UInt16 value) const |
| Sets the value of an attribute on the handle as an UInt16. | |
| Int32 | GetInt32Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an Int32. | |
| void | SetInt32Attribute (Attribute attribute, Int32 value) const |
| Sets the value of an attribute on the handle as an Int32. | |
| UInt32 | GetUInt32Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an UInt32. | |
| void | SetUInt32Attribute (Attribute attribute, UInt32 value) const |
| Sets the value of an attribute on the handle as an UInt32. | |
| Int64 | GetInt64Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an Int64. | |
| void | SetInt64Attribute (Attribute attribute, Int64 value) const |
| Sets the value of an attribute on the handle as an Int64. | |
| UInt64 | GetUInt64Attribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as an UInt64. | |
| void | SetUInt64Attribute (Attribute attribute, UInt64 value) const |
| Sets the value of an attribute on the handle as an UInt64. | |
| void * | GetPointerAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a pointer. | |
| void | SetPointerAttribute (Attribute attribute, void *value) const |
| Sets the value of an attribute on the handle as a pointer. | |
| OCI::Number * | GetNumberAttribute (Attribute attribute) const |
| Gets the value of an attribute from the handle as a pointer to an OCI::Number. | |
Static Protected Member Functions | |
| static HO_EXPORT void | HandleFree (void *handle, OCI::HandleType handleType) noexcept |
| Calls OCIHandleFree to release the handle. | |
Private Attributes | |
| void * | handle_ |
| OCI::HandleType | handleType_ |
| bool | ownsHandle_ |
Base class for OCI handle wrappers.
|
inlineconstexprprotectednoexcept |
Default constructor.
|
inlineconstexprprotectednoexcept |
Constructs a new HandleBase object.
| handleType | The type of the handle wrapped by this object. |
| handle | The handle wrapped by this object. |
| ownsHandle | Set to true if the new object will take owneship of the handle value |
|
protecteddelete |
|
inlineconstexprprotectednoexcept |
Move constructor.
| other | existing object |
|
inlineprotectedvirtual |
Destructor.
|
inlineprotected |
Destroys the handle if it is owned by this object.
|
inlinenodiscardprotected |
If this object is the owner of a handle this function rescinds that ownership, and returns the handle value without closing the handle.
|
pure virtualnoexcept |
Provides access to the OCIError that will be used for OCI calls for this object.
Implemented in Harlinn::OCI::BindBase, Harlinn::OCI::DefineBase, Harlinn::OCI::Describe, Harlinn::OCI::Descriptor, Harlinn::OCI::Environment, Harlinn::OCI::ErrorHandle, Harlinn::OCI::Server, Harlinn::OCI::ServiceContext, Harlinn::OCI::Session, Harlinn::OCI::Statement, Harlinn::OCI::Subscription, and Harlinn::OCI::TransactionHandle.
|
protected |
Gets the value of an attribute from the handle.
| buffer | Pointer to the storage for an attribute value. In EnvironmentMode::UTF16 environment mode, the value of a string attribute will be returned as a UTF-16 string. |
| size | The size of the attribute value, always in bytes. This can be passed as null for most attributes because the sizes of non-string attributes are already known by the OCI library. For text attributes, a pointer to a UInt32 must be passed in to get the length of the string. |
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a bool.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as a Byte.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a DateTime.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an Int16.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an Int32.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an Int64.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a pointer to an OCI::Number.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a pointer.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as a SByte.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a WideString.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineprotected |
Gets the value of an attribute from the handle as a WideString For use with attributes that are not returned as UTF-16.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an UInt16.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an UInt32.
| attribute | Identifies the attribute to retrieve the value for |
Gets the value of an attribute from the handle as an UInt64.
| attribute | Identifies the attribute to retrieve the value for |
|
inlineconstexprnoexcept |
Provides access to the value of the handle object.
|
staticprotectednoexcept |
Calls OCIHandleFree to release the handle.
| handle | The handle to release |
| handleType | The type of the handle to release |
|
inlineconstexprnoexcept |
Returns a value identifying the type of the wrapped handle object.
|
inlineprotected |
Provides a "safe" mechanism for assigning a handle value. This functions throws if a handle value is already assigned to this object.
| handle | The OCI handle value |
| ownsHandle | true if this object will take ownership of the handle value. |
|
inlineconstexprnoexcept |
Test if the handle value is assigned.
|
inlineexplicitconstexprnoexcept |
Test if the handle value is assigned.
|
protecteddelete |
|
inlineconstexprprotectednoexcept |
|
inlineconstexprprotectednoexcept |
Returns true if this object is the owner of the handle value.
|
protected |
Sets the value of an attribute on the handle.
| buffer | Pointer to an attribute value. The attribute value is copied into the target handle. If the attribute value is a pointer, then only the pointer is copied, not the contents of the pointer. String attributes must be in UTF-16 in OCI_UTF16 environment. |
| size | The size of an attribute value. This can be passed in as 0 for most attributes as the size is already known by the OCI library. For text attributes, a UInt32 must be passed in set to the length of the string in bytes, regardless of encoding. |
| attribute | Identifies the attribute to assign the value to |
|
inlineprotected |
Sets the value of an attribute on the handle as a bool.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as a bool |
|
inlineprotected |
Sets the value of an attribute on the handle as a Byte.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as a Byte |
|
inlineprotected |
Sets the value of an attribute on the handle as a DateTime.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as a DateTime |
|
inlineconstexprprotectednoexcept |
Assigns the handle value and ownership to this object.
Warning: Careless use of this function will cause resource leakage.
| newHandleValue | The new handle value |
| ownsHandle | Set to true if this object will take owneship of the new handle value |
|
inlineprotected |
Sets the value of an attribute on the handle as an Int16.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an Int16 |
|
inlineprotected |
Sets the value of an attribute on the handle as an Int32.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an Int32 |
|
inlineprotected |
Sets the value of an attribute on the handle as an Int64.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an Int64 |
|
inlineprotected |
Sets the value of an attribute on the handle as a pointer.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as a pointer |
|
inlineprotected |
Sets the value of an attribute on the handle as a Byte.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as a SByte |
|
inlineprotected |
Sets the value of an attribute on the handle as a WideString.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute |
|
inlineprotected |
|
inlineprotected |
Sets the value of an attribute on the handle as an UInt16.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an UInt16 |
|
inlineprotected |
Sets the value of an attribute on the handle as an UInt32.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an UInt32 |
|
inlineprotected |
Sets the value of an attribute on the handle as an UInt64.
| attribute | Identifies the attribute to assign the value to |
| value | Value of the attribute as an UInt64 |
|
inlineconstexprprotectednoexcept |
|
inlineconstexprprotectednoexcept |
Template function used to implement move assignement in derived classes.
| Derived | The type of the derived class |
| derived |
|
private |
|
private |
|
private |