IONotifier

class HPS::IONotifier : public HPS::Object

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.

Subclassed by HPS::DWG::ImportNotifier, HPS::Exchange::ExportNotifier, HPS::Exchange::ImportNotifier, HPS::Exchange::ReloadNotifier, HPS::Exchange::TranslationNotifier, HPS::ExchangeParasolid::ImportNotifier, HPS::HCA::ImportNotifier, HPS::OBJ::ExportNotifier, HPS::OBJ::ImportNotifier, HPS::OOC::ImportNotifier, HPS::Parasolid::ImportNotifier, HPS::PointCloud::ImportNotifier, HPS::STL::ImportNotifier, HPS::Sketchup::ImportNotifier, HPS::Stream::ExportNotifier, HPS::Stream::ImportNotifier

Public Functions

void Assign(IONotifier const &in_that)

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

Parameters

in_that – The source IONotifier for the assignment.

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.

IONotifier()

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

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_that – An rvalue reference to an IONotifier to take the impl from.

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_that – The source IONotifier to copy.

inline virtual HPS::Type ObjectType() const

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.

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_that – An rvalue reference to an IONotifier to take the impl from.

Returns

A reference to this ImportNotfier.

IONotifier &operator=(IONotifier const &in_that)

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

Parameters

in_that – The source IONotifier for the assignment.

Returns

A reference to this IONotifier.

IOResult Status() const

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

Returns

The current state of the file import.

IOResult 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.

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.

virtual ~IONotifier()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::IONotifier