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 |