#include <hps.h>

Inheritance diagram for HPS::IONotifier:
HPS::Object HPS::DWG::ImportNotifier HPS::Exchange::ExportNotifier HPS::Exchange::ImportNotifier HPS::Exchange::ReloadNotifier HPS::Exchange::TranslationNotifier HPS::ExchangeParasolid::ImportNotifier HPS::OBJ::ExportNotifier HPS::OBJ::ImportNotifier HPS::OOC::ImportNotifier HPS::Parasolid::ImportNotifier HPS::PointCloud::ImportNotifier HPS::Sketchup::ImportNotifier HPS::STL::ImportNotifier HPS::Stream::ExportNotifier HPS::Stream::ImportNotifier

Public Member Functions

void Assign (IONotifier const &in_that)
 
IONotifierCancel ()
 
 IONotifier ()
 
 IONotifier (IONotifier const &in_that)
 
 IONotifier (IONotifier &&in_that)
 
HPS::Type ObjectType () const
 
IONotifieroperator= (IONotifier &&in_that)
 
IONotifieroperator= (IONotifier const &in_that)
 
IOResult Status () const
 
IOResult Status (float &out_percent_complete) const
 
IONotifierWait ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::IONotifier
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The IONotifier class is a smart-pointer that is associated with an asynchronous file import or export. It is used to interact with an ongoing file IO or get the results from a completed IO operation.

Constructor & Destructor Documentation

◆ IONotifier() [1/3]

HPS::IONotifier::IONotifier ( )

The default constructor creates an IONotifier object which is not associated with any file IO operation.

◆ IONotifier() [2/3]

HPS::IONotifier::IONotifier ( IONotifier const &  in_that)

The copy constructor creates a new IONotifier object that is associated with the same file IO as the source IONotifier.

Parameters
in_thatThe source IONotifier to copy.

◆ IONotifier() [3/3]

HPS::IONotifier::IONotifier ( IONotifier &&  in_that)

The move constructor creates an IONotifier by transferring the underlying impl of the rvalue reference to this IONotifier thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an IONotifier to take the impl from.

Member Function Documentation

◆ Assign()

void HPS::IONotifier::Assign ( IONotifier const &  in_that)

Associate this IONotifier with the same file IO operation as the source IONotifier.

Parameters
in_thatThe source IONotifier for the assignment.

◆ Cancel()

IONotifier& HPS::IONotifier::Cancel ( )

Requests to cancel the asynchronous file IO if it is still in progress. The Cancel() function will return synchronously, however there may be some delay between when the cancel request is made and when the asynchronous file IO stops. Call Wait() to ensure that the asynchronous file IO operation has stopped.

Returns
A reference to this IONotifier.

◆ ObjectType()

HPS::Type HPS::IONotifier::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Object.

Reimplemented in HPS::STL::ImportNotifier, HPS::OBJ::ExportNotifier, HPS::OBJ::ImportNotifier, HPS::Stream::ExportNotifier, HPS::Stream::ImportNotifier, HPS::PointCloud::ImportNotifier, HPS::Exchange::ReloadNotifier, HPS::Exchange::ExportNotifier, HPS::Exchange::TranslationNotifier, HPS::Exchange::ImportNotifier, HPS::Parasolid::ImportNotifier, HPS::DWG::ImportNotifier, HPS::OOC::ImportNotifier, HPS::Sketchup::ImportNotifier, and HPS::ExchangeParasolid::ImportNotifier.

◆ operator=() [1/2]

IONotifier& HPS::IONotifier::operator= ( IONotifier &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this IONotifier thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an IONotifier to take the impl from.
Returns
A reference to this ImportNotfier.

◆ operator=() [2/2]

IONotifier& HPS::IONotifier::operator= ( IONotifier const &  in_that)

Associate this IONotifier with the same file IO operation as the source IONotifier.

Parameters
in_thatThe source IONotifier for the assignment.
Returns
A reference to this IONotifier.

◆ Status() [1/2]

IOResult HPS::IONotifier::Status ( ) const

Query the status of the file IO operation for this notifier.

Returns
The current state of the file import.

◆ Status() [2/2]

IOResult HPS::IONotifier::Status ( float &  out_percent_complete) const

Query the status and completion percentage of the file IO for this notifier.

Parameters
out_percent_completeFloat in the range [0,1] indicating the current percentage complete.
Returns
The current state of the file import.

◆ Wait()

IONotifier& HPS::IONotifier::Wait ( )

Cause this thread to sleep until the asynchronous file IO operation associated with this notifier is complete.

Returns
A reference to this IONotifier.

The documentation for this class was generated from the following file: