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_complete – Float 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
-
void Assign(IONotifier const &in_that)