The IONotifier class is a smart-pointer that is associated with an asynchronous file import or export. More...
#include <hps.h>
Public Member Functions | |
IONotifier () | |
The default constructor creates an IONotifier object which is not associated with any file IO operation. More... | |
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. More... | |
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. More... | |
IONotifier & | operator= (IONotifier &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this IONotifier thereby avoiding a copy. More... | |
virtual | ~IONotifier () |
HPS::Type | ObjectType () const |
IONotifier & | operator= (IONotifier const &in_that) |
Associate this IONotifier with the same file IO operation as the source IONotifier. More... | |
void | Assign (IONotifier const &in_that) |
Associate this IONotifier with the same file IO operation as the source IONotifier. More... | |
IONotifier & | Wait () |
Cause this thread to sleep until the asynchronous file IO operation associated with this notifier is complete. More... | |
IOResult | Status () const |
Query the status of the file IO operation for this notifier. More... | |
IOResult | Status (float &out_percent_complete) const |
Query the status and completion percentage of the file IO for this notifier. More... | |
IONotifier & | Cancel () |
Requests to cancel the asynchronous file IO if it is still in progress. More... | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. More... | |
virtual bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
bool | HasType (HPS::Type in_mask) const |
This function indicates whether this Object has the given Type mask. More... | |
intptr_t | GetClassID () const |
Returns a unique identifier that is shared by all objects of the same class. More... | |
intptr_t | GetInstanceID () const |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
Static Public Member Functions | |
template<typename T > | |
static intptr_t | ClassID () |
Unique identifier for this class. More... | |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::IONotifier |
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.
HPS::IONotifier::IONotifier | ( | ) |
The default constructor creates an IONotifier object which is not associated with any file IO operation.
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.
in_that | The source IONotifier to copy. |
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.
in_that | An rvalue reference to an IONotifier to take the impl from. |
|
virtual |
void HPS::IONotifier::Assign | ( | IONotifier const & | in_that | ) |
Associate this IONotifier with the same file IO operation as the source IONotifier.
in_that | The source IONotifier for the assignment. |
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.
|
inlinestaticinherited |
Unique identifier for this class.
Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
inherited |
Returns an identifier that can be used to identify which instance of a class an object is.
Different keys and controls will return the same value if they are backed by the same database resource.
|
inherited |
|
inlinevirtual |
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.
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.
in_that | An rvalue reference to an IONotifier to take the impl from. |
IONotifier& HPS::IONotifier::operator= | ( | IONotifier const & | in_that | ) |
Associate this IONotifier with the same file IO operation as the source IONotifier.
in_that | The source IONotifier for the assignment. |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
IOResult HPS::IONotifier::Status | ( | ) | const |
Query the status of the file IO operation for this notifier.
IOResult HPS::IONotifier::Status | ( | float & | out_percent_complete | ) | const |
Query the status and completion percentage of the file IO for this notifier.
out_percent_complete | Float in the range [0,1] indicating the current percentage complete. |
|
virtualinherited |
This function returns the true type of the underlying object.
This function is useful for finding the type of smart pointer objects that have been cast to more generic types.
Reimplemented in HPS::UpdateOptionsControl, HPS::HighlightControl, HPS::SelectionOptionsControl, HPS::OffScreenWindowOptionsControl, HPS::ApplicationWindowOptionsControl, HPS::StandAloneWindowOptionsControl, HPS::AttributeLockControl, HPS::WindowInfoControl, HPS::DebuggingControl, HPS::SubwindowControl, HPS::ContourLineControl, HPS::VisualEffectsControl, HPS::TransformMaskControl, HPS::PostProcessEffectsControl, HPS::DrawingAttributeControl, HPS::HiddenLineAttributeControl, HPS::PerformanceControl, HPS::NURBSSurfaceAttributeControl, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::CurveAttributeControl, HPS::EdgeAttributeControl, HPS::LineAttributeControl, HPS::TextAttributeControl, HPS::CuttingSectionAttributeControl, HPS::CylinderAttributeControl, HPS::LightingAttributeControl, HPS::SphereAttributeControl, HPS::MarkerAttributeControl, HPS::CullingControl, HPS::ColorInterpolationControl, HPS::TransparencyControl, HPS::SelectabilityControl, HPS::CameraControl, HPS::VisibilityControl, HPS::BoundingControl, HPS::Kit, and HPS::Control.
IONotifier& HPS::IONotifier::Wait | ( | ) |
Cause this thread to sleep until the asynchronous file IO operation associated with this notifier is complete.
|
static |