📄 isession.h
字号:
//-------------------------------------------------------------------
/*! This method returns a new rectangle vector object. */
virtual IFMERectangleVector *createRectangleVector() const = 0;
//-------------------------------------------------------------------
/*! This method destroys a previously created rectangle vector object.*/
virtual void destroyRectangleVector(IFMERectangleVector* &rectVect) const = 0;
//-------------------------------------------------------------------
/*! This method creates a feature vector on disk -- the vector that
// is returned MUST be freed eventually by the destroyFeatureVectorOnDisk
// method. maxEntriesInMemory determines how many features are stored
// in memory before the features are stored on disk. Note that any
// features put into this feature vector belong to the feature vector,
// as well as any features extracted from it no longer belong to the
// feature vector. */
virtual IFMEFeatureVectorOnDisk* createFeatureVectorOnDisk
(FME_UInt32 maxEntriesInMemory) const = 0;
//-------------------------------------------------------------------
/*! This method destroys a feature vector on disk. Any features inside
// the feature vector are destroyed as well. */
virtual void destroyFeatureVectorOnDisk
(IFMEFeatureVectorOnDisk* &featVectOnDisk) const = 0;
//-------------------------------------------------------------------
/*! This method gets the values of the keyword for the session
// configuration. The string array returned will be empty if the
// keyword is invalid or does not exist in the current session
// configuration. */
virtual void getSettings(const IFMEString &keyword,
IFMEStringArray &values) = 0;
//-------------------------------------------------------------------
/*! This method will only accept the keyword kFME_DumpConfig
// which will dump the current session configuration to the logfile. No
// action will be performed if the keyword is unrecognized. More keywords
// may be added in the future.*/
virtual void logSettings(const char* keyword) = 0;
//-------------------------------------------------------------------
/*! This method retrieves the schema features defined in the DEF lines
// that are prefixed with 'prefix' in the 'schemaFile'. The
// 'macros' should be a name value pair array that defines
// values for each macro used in the 'schemaFile'. */
virtual FME_MsgNum getSchemaFeatures(const IFMEStringArray ¯os,
const char* prefix,
const char* schemaFile,
IFMEFeatureVector &schemaFeatures) = 0;
//-------------------------------------------------------------------
/*! This method returns the persistent cache object used for the session.
// The caller must not delete it.
//
// If NULL is returned then the object could not be created and the
// application should use the getLastError*() functions
// to retrieve the error.
//
// This directives array is required for this method; the
// supported directives are:
//
// <dl>
// <dt><b>"PERSISTENT_CACHE_NAME"</b> (C++ Constant: kFME_PersistentCacheName)</dt>
// <dd> This directive speciofies a name for the cache.<br>
// This directive is required.
// </dd>
// <dt><b>"PERSISTENT_CACHE_PATH"</b> (C++ Constant: kFME_PersistentCachePath)</dt>
// <dd> This directive is optional.
// </dd>
// </dl> */
virtual IFMEPersistentCache* persistentCache(const IFMEStringArray* directives) = 0;
//-------------------------------------------------------------------
/*! This method will populate an IFMEStringArray with values for the given
// property category.
//
// If a property category is found, the array should be populated with
// <property>/<value> pairs, as appropriate for that property category. Therefore
// the returned array should always have an even number of entries.
// The property category may choose to return an empty array.
// If the property category is recognized, the method will have a
// return value of FME_TRUE; otherwise it will have a return value of FME_FALSE.
// <p>
// This method handles the following property categories:
// <dl>
// <dt><b>"fme_session_prop_license"</b> (C++ Constant: kFME_SessionPropLicense)</dt>
// <dd>Returns the licensing properties. Each license property
// is returned as a property/value pair of entries.</dd>
// <dt> <b>"*"</b> (C++ Constant: kFME_SessionPropAll)</dt>
// <dd>Returns all properties for all known property categories.
// Each property is returned as a property/value pair of entries.</dd>
// </dl></p>
//
// <p>The following property categories are used to retrieve reader/writer format
// information. These categories will NOT be returned with the
// kFME_SessionPropAll property category nor the getAllProperties() method.
// The property categories below return FME_TRUE when successful, otherwise
// they return FME_FALSE and the properties array is left untouched.
//
// <dl>
// <dt><b>"fme_session_prop_formats"</b> (C++ Constant: kFME_SessionPropFormats)</dt>
// <dd>Returns in the properties array the format names listed under
// formats.db and the FDS format names. It returns all the formats
// no matter whether they are licensed or not. Unlike other
// property categories the properties array returned is not an
// array of name/value pairs, but an array of values.</dd>
// <dt><b>"fme_session_prop_format_info"</b> (C++ Constant: kFME_SessionPropFormatInfo)</dt>
// <dd>Returns the information for the format that is
// specified in the properties array. The caller must specified
// the format name in the properties array through a
// property/value pair, where the property must be
// kFME_FormatName and the value must be the name of the
// format, for example, "SHAPE". The format information is
// returned as property/value pairs in the properties array.
//
// <p>For example, to retrieve the format information for SHAPE:
<pre>
...
formatInfo->append(kFME_FormatName);
formatInfo->append("SHAPE");
session->getProperties(kFME_SessionPropFormatInfo, *formatInfo);
...
</pre></p>
// <p>After the getProperties() call, the formatInfo array
// contains the property/value pairs representing the information
// from the formats.db file from the SHAPE format.</p></dd>
// <dt><b>"fme_session_prop_format_property"</b>
// (C++ Constant: kFME_SessionPropFormatProperty)</dt>
// <dd>Returns the value of the requested property for the specified format.
// The format is specified in the properties array through a
// property/value pair, where the property must be
// kFME_FormatName and the value must be the name of the
// format, for example, "SHAPE".
//
// The requested property is also specified in the properties array
// through a property/value pair, where property is
// kFME_FormatName and the value must be one of the following:
//
// kFME_FormatLongName, kFME_DatasetType, kFME_Direction,
// kFME_Filter, kFME_CoordSysAware, kFME_SourceSettings,
// kFME_DestSettings, kFME_GenericTranslation, kFME_FormatName,
// kFME_AssocWithExts, kFME_UserCreated, kFME_FDSFile,
// kFME_FormatType, kFME_NativeSpatialIndex, kFME_Visible,
// kFME_FormatProperty
//
// <p>For example, to retrieve the FILE_EXTENSIONS information for SHAPE:
<pre>
...
formatInfo->append(kFME_FormatName);
formatInfo->append("SHAPE");
formatInfo->append(kFME_FormatProperty);
formatInfo->append(kFME_Filter);
session->getProperties(kFME_SessionPropFormatProperty, *formatInfo);
...
</pre></p>
// <p>After the getProperties() call, the file extensions are
// returned in the value of a property/value pair in the formatInfo
// array, where the property of the pair is kFME_Filter and the value
// are the file extensions for the SHAPE format.</p></dd>
// </dl>
//
*/
virtual FME_Boolean getProperties(const char* propertyCategory, IFMEStringArray& properties) = 0;
//-------------------------------------------------------------------
/*! This method will populate an IFMEStringArray with values for all
// properties for all known property categories.
//
// For all properties found, the array should be populated with
// <property>/<value> pairs which are known. Therefore
// the returned array should always have an even number of entries.
// The method itself will have a return value of FME_TRUE.
//
// If no properties were found, the method itself will have a
// return value of FME_FALSE.
*/
virtual FME_Boolean getAllProperties(IFMEStringArray& properties) = 0;
//-------------------------------------------------------------------
/*! This function returns the IFMELicenseManager object used
// for the session. The caller must not delete it. */
virtual IFMELicenseManager* getLicenseManager() = 0;
//-------------------------------------------------------------------
/*! This function returns the disconnected edit object used for the session.
// The caller must not delete it.
//
// If NULL is returned then the object could not be created and the
// application should use the getLastError*() functions
// to retrieve the error.
//
// Directives:
// <dl>
// <dt><b>"DISCONNECTED_EDIT_DB_NAME"</b> (C++ Constant: kFME_DisconnectedEditDBName)</dt>
// <dd> Name for the disconnected edit session. This
// is required and is used by the disconnected
// edit session to track information. The value
// specifies a sub-directory that will be
// created under the directory specified by
// the DISCONNECTED_EDIT_DB_PATH directives.</dd>
//
// <dt><b>"DISCONNECTED_EDIT_DB_PATH"</b> (C++ Constant: kFME_DisconnectedEditDBPath)</dt>
// <dd>Used in conjunction with the <b>DISCONNECTED_EDIT_DB_NAME</b> directive. It specifies the
// directory in which the <b>DISCONNECTED_EDIT_DB_NAME</b> will be created. This
// directive is optional and if it is not specified
// then the value for a temporary directory
// (ie. FME_TEMP) will be assumed. </dd>
// </dl>
*/
virtual IFMEDisconnectedEdit* disconnectedEdit(const IFMEStringArray* directives) = 0;
//-------------------------------------------------------------------
/*! This method returns the transformer manager object used for the session.
// The caller must not delete it.
//
// If NULL is returned then the object could not be created and the
// application should use the getLastError*() functions
// to retrieve the error.
//
// This directives array is for future use, thus NULL should be passed in
// */
virtual IFMETransformerManager* transformerManager(const IFMEStringArray* directives) = 0;
//-------------------------------------------------------------------
// Oct 14, 2005 - Kevin Wiebe
/*! This function returns the IFMEGeometryTools object used
// for the session. The caller must not delete it.
*/
virtual IFMEGeometryTools *getGeometryTools() const = 0;
//-------------------------------------------------------------------
// Jan 04, 2006 - Matt Adam
/*! For internal use only.
*/
virtual IFMEWorkspaceLoader *createWorkspaceLoader(IFMEString& workspaceName) const = 0;
//-------------------------------------------------------------------
// Jan 04, 2006 - Matt Adam
/*! For internal use only.
*/
virtual void destroyWorkspaceLoader(IFMEWorkspaceLoader *& workspaceLoader) const = 0;
protected:
//-------------------------------------------------------------------
// Constructor
IFMESession() {};
//-------------------------------------------------------------------
// Destructor
virtual ~IFMESession() {};
private:
// Hide methods that we don't want called.
//---------------------------------------------------------------
// copy constructor
IFMESession(const IFMESession &other);
//---------------------------------------------------------------
// assignment operator.
IFMESession &operator=(const IFMESession &other);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -