29 # define winmsgSTRING2(ss) #ss 30 # define winmsgSTRING(ss) winmsgSTRING2(ss) 31 # define PW_DLLEXPORT __declspec(dllexport) 32 # define PW_DLLIMPORT __declspec(dllimport) 38 #undef PWP_PROTOTYPE_DECL 40 #ifdef BUILD_PWPLUGIN_DYNLIB 49 # if defined(SHOW_PWP_MESSAGES) 50 # pragma message ("PWP_SITE_GROUPNAME='" PWP_SITE_GROUPNAME "'") 51 # pragma message ("PWP_SITE_GROUPID='" winmsgSTRING(PWP_SITE_GROUPID) "'") 58 # define PWP_PROTOTYPE_DECL PW_DLLEXPORT 60 #else // building pointwise distro 65 # define PWP_PROTOTYPE_DECL typedef 72 #if defined(WINDOWS) && defined(SHOW_PWP_MESSAGES) 73 # pragma message ("PWP_PROTOTYPE_DECL='" winmsgSTRING(PWP_PROTOTYPE_DECL) "'") 90 # define PW_DLL_IMPEXP PW_DLLEXPORT 92 # define PW_DLL_IMPEXP PW_DLLIMPORT 127 #define PWP_API_PLUGIN "Plugin-PWP" 131 #define PWP_API_CAE_EXPORT "Export-CAE" 134 #define PWP_API_GRID_IMPORT "Import-GRID" 137 #define CAEP_API_EXPORT PWP_API_CAE_EXPORT 175 #define PWP_UINT8_MAX ((PWP_UINT8)(~0)) 178 #define PWP_UINT8_UNDEF PWP_UINT8_MAX 181 #define PWP_INT8_FORMAT "d" 184 #define PWP_UINT8_FORMAT "u" 195 #define PWP_UINT16_MAX ((PWP_UINT16)(~0)) 198 #define PWP_UINT16_UNDEF PWP_UINT16_MAX 201 #define PWP_INT16_FORMAT "hd" 204 #define PWP_UINT16_FORMAT "hu" 215 #define PWP_UINT32_MAX ((PWP_UINT32)(~0)) 218 #define PWP_UINT32_UNDEF PWP_UINT32_MAX 221 #define PWP_INT32_FORMAT "d" 224 #define PWP_UINT32_FORMAT "u" 228 #if defined(darwin) && defined(IS64BIT) 236 #define PWP_INT64_FORMAT "ld" 239 #define PWP_UINT64_FORMAT "lu" 248 #define PWP_INT64_FORMAT "lld" 251 #define PWP_UINT64_FORMAT "llu" 255 #define PWP_UINT64_MAX ((PWP_UINT64)(~0)) 258 #define PWP_UINT64_UNDEF PWP_UINT64_MAX 278 #define PWP_INT_FORMAT PWP_INT64_FORMAT 281 #define PWP_UINT_FORMAT PWP_UINT64_FORMAT 290 #define PWP_INT_FORMAT PWP_INT32_FORMAT 293 #define PWP_UINT_FORMAT PWP_UINT32_FORMAT 297 #define PWP_UINT_MAX ((PWP_UINT)(~0)) 300 #define PWP_UINT_UNDEF PWP_UINT_MAX 308 #define PWP_FALSE (0) 311 #define PWP_TRUE (!PWP_FALSE) 314 #define PWP_CAST_BOOL(v) ((v) ? PWP_TRUE : PWP_FALSE) 342 #define PWP_DECLARE_HANDLE(name) \ 343 typedef struct name##_t { \ 350 #define PWP_HANDLE_ISVALID(h) (0 != h) 353 #define PWP_HANDLE_INIT 0 356 #define PWP_HANDLE_SET(h, v) h=v 359 #define PWP_HANDLE_SET_IMPL(h, hTyp, impl) (h=reinterpret_cast<hTyp>(&impl)) 362 #define PWP_HANDLE_GET_IMPL(h, hTyp) reinterpret_cast<hTyp##_IMPL*>(h) 365 #define PWP_BADID (~((PWP_UINT32)0)) 368 #define PWP_BADTYPE ((unsigned char)~0) 377 #define PWP_DECLARE_HELEMGROUP(pname,name) \ 378 typedef struct name##_t { \ 385 #define PWP_HEGRP_ISVALID(h) (PWP_HANDLE_ISVALID((h).hP) && \ 386 (PWP_BADID != (h).id)) 388 #define PWP_HEGRP_INIT {0,PWP_BADID} 391 #define PWP_HEGRP_SET(h, p, v) { (h).hP=(p); (h).id=(v); } 394 #define PWP_HEGRP_H(h) ((h).hP) 397 #define PWP_HEGRP_ID(h) ((h).id) 407 #define PWP_DECLARE_HEGRPITEM(sname,name) \ 408 typedef struct name##_t { \ 411 unsigned char ptype; \ 416 #define PWP_HEGI_ISVALID(h) (PWP_HANDLE_ISVALID((h).parent.hP) && \ 417 (PWP_BADID != (h).parent.id) && \ 418 (PWP_BADTYPE != (h).ptype) && \ 419 (PWP_BADID != (h).id)) 421 #define PWP_HEGI_INIT {{0, PWP_BADID}, PWP_BADTYPE, PWP_BADID} 424 #define PWP_HEGI_SET(h, p, pt, pid, v) { (h).parent.hP=(p); \ 425 (h).parent.id=(pid); \ 429 #define PWP_HEGI_H(h) ((h).parent.hP) 432 #define PWP_HEGI_PID(h) ((h).parent.id) 435 #define PWP_HEGI_PTYPE(h) ((h).ptype) 438 #define PWP_HEGI_ID(h) ((h).id) 449 #define PWP_HVALUE_ISVALID(h) PWP_HANDLE_ISVALID(h) 452 #define PWP_HVALUE_INIT PWP_HANDLE_INIT 455 #define PWP_HVALUE_SET(h, v) PWP_HANDLE_SET(h, v) 458 #define PWP_HVALUE_SET_INVALID(h) PWP_HVALUE_SET(h, PWP_HANDLE_INIT) 461 #define PWP_HVALUE_SET_IMPL(h, hTyp) PWP_HANDLE_SET_IMPL(h, PWP_HVALUE, hTyp) 464 #define PWP_HVALUE_GET_IMPL(h) PWP_HANDLE_GET_IMPL(h, PWP_HVALUE) 506 typedef enum PWP_ENUM_MSGID_e {
546 PWP_MSGID_LAST = PWP_MSGID_SIZE-1
570 #define PWP_MESSAGECB_DEFAULT "@@default" 583 #define PWP_MESSAGECB_SPY "@@spy" 698 typedef enum PWP_ENUM_VALTYPE_e {
712 PWP_VALTYPE_UNKNOWN = PWP_VALTYPE_SIZE,
714 PWP_VALTYPE_LAST = PWP_VALTYPE_SIZE - 1
745 typedef enum PWP_ENUM_FILEDEST_e {
755 PWP_FILEDEST_LAST = PWP_FILEDEST_SIZE - 1
765 typedef enum PWP_ENUM_DIMENSION_e {
774 PWP_DIMENSION_LAST = PWP_DIMENSION_SIZE - 1
784 typedef enum PWP_ENUM_ENCODING_e {
794 PWP_ENCODING_LAST = PWP_ENCODING_SIZE - 1
804 typedef enum PWP_ENUM_PRECISION_e {
813 PWP_PRECISION_LAST = PWP_PRECISION_SIZE - 1
824 typedef enum PWP_ENDIANNESS_t {
899 PWP_PROTOTYPE_DECL
const char*
1051 PwpGetValue(
const char group[],
const char key[], PWP_HVALUE value);
1075 #define PWU_PUBLISH_NAMES_STR "PublishedVar.Names" 1076 #define PWU_PUBLISH_DEFNS_STR "PublishedVar.Definitions" 1078 #define PWU_VALUE_DEFN_NAME_STR "name" 1079 #define PWU_VALUE_DEFN_TYPE_STR "type" 1080 #define PWU_VALUE_DEFN_ACCESS_STR "access" 1081 #define PWU_VALUE_DEFN_DESC_STR "description" 1082 #define PWU_VALUE_DEFN_DEFAULT_STR "default" 1083 #define PWU_VALUE_DEFN_RANGE_STR "range" 1085 #define PWU_GROUP_JOIN(j1, j2) j1 "." j2 1086 #define PWU_GROUP_VALUE_NAMES(grp) PWU_GROUP_JOIN(grp, PWU_PUBLISH_NAMES_STR) 1087 #define PWU_GROUP_VALUE_DEFNS(grp) PWU_GROUP_JOIN(grp, PWU_PUBLISH_DEFNS_STR) PWP_PROTOTYPE_DECL PWP_UINT32 PwpGetAPICount()
Get the number of APIs supported by this plugin.
The data sent by plugins for progress messages.
PWP_UINT32 code
API defined message code.
PWP_ENUM_VALTYPE
Supported PWP-API getValue() transfer types.
transfer value is a PWP_REAL
PWP_PROTOTYPE_DECL const char * PwpEnumAPIs(PWP_UINT32 ndx, PWP_APIINFO *pInfo)
Enumerates the APIs supported by this plugin.
PWP_VERSIONVAL major
the major version value
transfer value is a PWP_INT
PwpValue_t * PwpValueCB_
Callback function used to marshall a plugin value into dest_.
Information text message id (see PWP_MSG_TEXT)
PWP_UINT32(* PWP_MESSAGECB)(const char api[], PWP_ENUM_MSGID id, void *pMsg)
Message handler callback function signature.
PWP_PROTOTYPE_DECL PWP_MESSAGECB PwpGetMessageCallback(const char api[])
Gets the current message callback.
const char * text
API defined message string.
PWP_PROTOTYPE_DECL PWP_VOID PwpDestroy()
Called by framework just before plugin library is closed.
PWP_VERSION libVer
software library release version
PWP_ENUM_PRECISION
File precision values.
transfer value is a const char*
PWP_ENUM_MSGID
Supported PWP-API message ids.
Query progress quit message id (see PWP_MSG_PROGRESS)
#define PWP_DECLARE_HANDLE(name)
Declares a root-level, strongly-typed data handle type.
Begin progress message id (see PWP_MSG_PROGRESS)
const char * support
support description (phone, web-link).
PWP_UINT32 value
The progress value.
PWP_UINT32 apiCount
number of APIs implemented by this plugin
PWP_PROTOTYPE_DECL PWP_VOID PwpSetLanguage(const char language[])
Sets the active language.
Installation's license data. NOT IMPLEMENTED YET.
PWP_PROTOTYPE_DECL PWP_BOOL PwpInitialize()
Initializes the plugin.
Debug text message id (see PWP_MSG_TEXT)
PWP_PROTOTYPE_DECL PWP_BOOL PwpIsLicensed(const char api[], const PWP_LICENSEDATA *pLicenseData)
Determines if plugin api is licensed for use on this machine.
End progress message id (see PWP_MSG_PROGRESS)
The API information returned by plugins for each supported API.
transfer value is a PWP_BOOL
Status progress message id (see PWP_MSG_PROGRESS)
PWP_ENUM_DIMENSION
Supported dimensionality values.
PWP_VERSION pwpVer
plugin conforms to this PWP-API version
Non-fatal error text message id (see PWP_MSG_TEXT)
void * dest_
Pointer to the opaque value destination.
PWP_VERSIONVAL minor
the minor version value
PWP_ENUM_ENCODING
File encoding values.
PWP_PROTOTYPE_DECL PWP_MESSAGECB PwpSetMessageCallback(const char api[], PWP_MESSAGECB msgCB)
Sets the message callback function for the given api.
transfer value is a PWP_UINT
const char * author
company/author description
transfer value is a const char*
Fatal error text message id (see PWP_MSG_TEXT)
PWP_UINT32 PWP_VERSIONVAL
Version data component value.
const char * copyright
copyright description
PWP_ENUM_FILEDEST
File destination types.
PWP_BOOL PwpValue_t(const void *dest, PWP_ENUM_VALTYPE srcType, const void *srcValue, PWP_UINT32 srcSize)
Value transfer callback function signature.
const char * name
full API spec name
PWP_ENDIANNESS
Flags used to indicate endianness or control endian behaviors in functions.
PWP_MESSAGECB defCB
assigned default message callback
PWP_VERSION ver
API spec version.
PWP_PROTOTYPE_DECL PWP_BOOL PwpGetValue(const char group[], const char key[], PWP_HVALUE value)
Get the value for a grouped key.
The data sent by plugins for text messages.
PWP_PROTOTYPE_DECL PWP_BOOL PwpActivateAPI(const char api[])
Activates the plugin for a given API spec.
PWP_PROTOTYPE_DECL PWP_VERSIONVAL PwpGetPluginInfo(PWP_PLUGININFO *pInfo)
Get information about this plugin.
Provides general information about a plugin.
PWP_MESSAGECB spyCB
assigned spy message callback