Go to the documentation of this file.
27 # define winmsgSTRING2(ss) #ss
28 # define winmsgSTRING(ss) winmsgSTRING2(ss)
29 # define PW_DLLEXPORT __declspec(dllexport)
30 # define PW_DLLIMPORT __declspec(dllimport)
36 #undef PWP_PROTOTYPE_DECL
38 #ifdef BUILD_PWPLUGIN_DYNLIB
47 # if defined(SHOW_PWP_MESSAGES)
48 # pragma message ("PWP_SITE_GROUPNAME='" PWP_SITE_GROUPNAME "'")
49 # pragma message ("PWP_SITE_GROUPID='" winmsgSTRING(PWP_SITE_GROUPID) "'")
56 # define PWP_PROTOTYPE_DECL PW_DLLEXPORT
58 #else // building pointwise distro
63 # define PWP_PROTOTYPE_DECL typedef
70 #if defined(WINDOWS) && defined(SHOW_PWP_MESSAGES)
71 # pragma message ("PWP_PROTOTYPE_DECL='" winmsgSTRING(PWP_PROTOTYPE_DECL) "'")
88 # define PW_DLL_IMPEXP PW_DLLEXPORT
90 # define PW_DLL_IMPEXP PW_DLLIMPORT
125 #define PWP_API_PLUGIN "Plugin-PWP"
129 #define PWP_API_CAE_EXPORT "Export-CAE"
132 #define PWP_API_GRID_IMPORT "Import-GRID"
135 #define CAEP_API_EXPORT PWP_API_CAE_EXPORT
173 #define PWP_UINT8_MAX ((PWP_UINT8)(~0))
176 #define PWP_UINT8_UNDEF PWP_UINT8_MAX
179 #define PWP_INT8_FORMAT "d"
182 #define PWP_UINT8_FORMAT "u"
193 #define PWP_UINT16_MAX ((PWP_UINT16)(~0))
196 #define PWP_UINT16_UNDEF PWP_UINT16_MAX
199 #define PWP_INT16_FORMAT "hd"
202 #define PWP_UINT16_FORMAT "hu"
213 #define PWP_UINT32_MAX ((PWP_UINT32)(~0))
216 #define PWP_UINT32_UNDEF PWP_UINT32_MAX
219 #define PWP_INT32_FORMAT "d"
222 #define PWP_UINT32_FORMAT "u"
226 #if defined(darwin) && defined(IS64BIT)
234 #define PWP_INT64_FORMAT "ld"
237 #define PWP_UINT64_FORMAT "lu"
246 #define PWP_INT64_FORMAT "lld"
249 #define PWP_UINT64_FORMAT "llu"
253 #define PWP_UINT64_MAX ((PWP_UINT64)(~0))
256 #define PWP_UINT64_UNDEF PWP_UINT64_MAX
276 #define PWP_INT_FORMAT PWP_INT64_FORMAT
279 #define PWP_UINT_FORMAT PWP_UINT64_FORMAT
288 #define PWP_INT_FORMAT PWP_INT32_FORMAT
291 #define PWP_UINT_FORMAT PWP_UINT32_FORMAT
295 #define PWP_UINT_MAX ((PWP_UINT)(~0))
298 #define PWP_UINT_UNDEF PWP_UINT_MAX
306 #define PWP_FALSE PWP_BOOL(0)
309 #define PWP_TRUE PWP_BOOL(!PWP_FALSE)
312 #define PWP_CAST_BOOL(v) ((v) ? PWP_TRUE : PWP_FALSE)
340 #define PWP_DECLARE_HANDLE(name) \
341 typedef struct name##_t { \
348 #define PWP_HANDLE_ISVALID(h) (0 != h)
351 #define PWP_HANDLE_INIT 0
354 #define PWP_HANDLE_SET(h, v) h=v
357 #define PWP_HANDLE_SET_IMPL(h, hTyp, impl) (h=reinterpret_cast<hTyp>(&impl))
360 #define PWP_HANDLE_GET_IMPL(h, hTyp) reinterpret_cast<hTyp##_IMPL*>(h)
363 #define PWP_BADID (~((PWP_UINT32)0))
366 #define PWP_BADTYPE ((unsigned char)~0)
375 #define PWP_DECLARE_HELEMGROUP(pname,name) \
376 typedef struct name##_t { \
383 #define PWP_HEGRP_ISVALID(h) (PWP_HANDLE_ISVALID((h).hP) && \
384 (PWP_BADID != (h).id))
386 #define PWP_HEGRP_INIT {0,PWP_BADID}
389 #define PWP_HEGRP_SET(h, p, v) { (h).hP=(p); (h).id=(v); }
392 #define PWP_HEGRP_H(h) ((h).hP)
395 #define PWP_HEGRP_ID(h) ((h).id)
405 #define PWP_DECLARE_HEGRPITEM(sname,name) \
406 typedef struct name##_t { \
409 unsigned char ptype; \
414 #define PWP_HEGI_ISVALID(h) (PWP_HANDLE_ISVALID((h).parent.hP) && \
415 (PWP_BADID != (h).parent.id) && \
416 (PWP_BADTYPE != (h).ptype) && \
417 (PWP_BADID != (h).id))
419 #define PWP_HEGI_INIT {{0, PWP_BADID}, PWP_BADTYPE, PWP_BADID}
422 #define PWP_HEGI_SET(h, p, pt, pid, v) { (h).parent.hP=(p); \
423 (h).parent.id=(pid); \
427 #define PWP_HEGI_H(h) ((h).parent.hP)
430 #define PWP_HEGI_PID(h) ((h).parent.id)
433 #define PWP_HEGI_PTYPE(h) ((h).ptype)
436 #define PWP_HEGI_ID(h) ((h).id)
447 #define PWP_HVALUE_ISVALID(h) PWP_HANDLE_ISVALID(h)
450 #define PWP_HVALUE_INIT PWP_HANDLE_INIT
453 #define PWP_HVALUE_SET(h, v) PWP_HANDLE_SET(h, v)
456 #define PWP_HVALUE_SET_INVALID(h) PWP_HVALUE_SET(h, PWP_HANDLE_INIT)
459 #define PWP_HVALUE_SET_IMPL(h, hTyp) PWP_HANDLE_SET_IMPL(h, PWP_HVALUE, hTyp)
462 #define PWP_HVALUE_GET_IMPL(h) PWP_HANDLE_GET_IMPL(h, PWP_HVALUE)
504 typedef enum PWP_ENUM_MSGID_e {
544 PWP_MSGID_LAST = PWP_MSGID_SIZE-1
568 #define PWP_MESSAGECB_DEFAULT "@@default"
581 #define PWP_MESSAGECB_SPY "@@spy"
696 typedef enum PWP_ENUM_VALTYPE_e {
710 PWP_VALTYPE_UNKNOWN = PWP_VALTYPE_SIZE,
712 PWP_VALTYPE_LAST = PWP_VALTYPE_SIZE - 1
743 typedef enum PWP_ENUM_FILEDEST_e {
753 PWP_FILEDEST_LAST = PWP_FILEDEST_SIZE - 1
763 typedef enum PWP_ENUM_DIMENSION_e {
772 PWP_DIMENSION_LAST = PWP_DIMENSION_SIZE - 1
782 typedef enum PWP_ENUM_ENCODING_e {
792 PWP_ENCODING_LAST = PWP_ENCODING_SIZE - 1
802 typedef enum PWP_ENUM_PRECISION_e {
811 PWP_PRECISION_LAST = PWP_PRECISION_SIZE - 1
822 typedef enum PWP_ENDIANNESS_t {
897 PWP_PROTOTYPE_DECL
const char*
1049 PwpGetValue(
const char group[],
const char key[], PWP_HVALUE value);
1073 #define PWU_PUBLISH_NAMES_STR "PublishedVar.Names"
1074 #define PWU_PUBLISH_DEFNS_STR "PublishedVar.Definitions"
1076 #define PWU_VALUE_DEFN_NAME_STR "name"
1077 #define PWU_VALUE_DEFN_TYPE_STR "type"
1078 #define PWU_VALUE_DEFN_ACCESS_STR "access"
1079 #define PWU_VALUE_DEFN_DESC_STR "description"
1080 #define PWU_VALUE_DEFN_DEFAULT_STR "default"
1081 #define PWU_VALUE_DEFN_RANGE_STR "range"
1083 #define PWU_GROUP_JOIN(j1, j2) j1 "." j2
1084 #define PWU_GROUP_VALUE_NAMES(grp) PWU_GROUP_JOIN(grp, PWU_PUBLISH_NAMES_STR)
1085 #define PWU_GROUP_VALUE_DEFNS(grp) PWU_GROUP_JOIN(grp, PWU_PUBLISH_DEFNS_STR)
PWP_VERSION libVer
software library release version
@ PWP_VALTYPE_STRING
transfer value is a const char*
@ PWP_MSGID_PROGQUIT
Query progress quit message id (see PWP_MSG_PROGRESS)
PWP_VERSION ver
API spec version.
PWP_PROTOTYPE_DECL PWP_BOOL PwpInitialize()
Initializes the plugin.
const char * copyright
copyright description
PWP_ENUM_VALTYPE
Supported PWP-API getValue() transfer types.
@ PWP_MSGID_PROGEND
End progress message id (see PWP_MSG_PROGRESS)
PWP_UINT32 value
The progress value.
PWP_PROTOTYPE_DECL PWP_BOOL PwpIsLicensed(const char api[], const PWP_LICENSEDATA *pLicenseData)
Determines if plugin api is licensed for use on this machine.
@ PWP_MSGID_WARNING
Non-fatal error text message id (see PWP_MSG_TEXT)
PWP_PROTOTYPE_DECL PWP_VERSIONVAL PwpGetPluginInfo(PWP_PLUGININFO *pInfo)
Get information about this plugin.
@ PWP_MSGID_PROGSTATUS
Status progress message id (see PWP_MSG_PROGRESS)
The data sent by plugins for text messages.
PWP_PROTOTYPE_DECL const char * PwpEnumAPIs(PWP_UINT32 ndx, PWP_APIINFO *pInfo)
Enumerates the APIs supported by this plugin.
PWP_ENUM_ENCODING
File encoding values.
const char * author
company/author description
PWP_VERSIONVAL major
the major version value
PWP_VERSION pwpVer
plugin conforms to this PWP-API version
#define PWP_DECLARE_HANDLE(name)
Declares a root-level, strongly-typed data handle type.
PWP_BOOL PwpValue_t(const void *dest, PWP_ENUM_VALTYPE srcType, const void *srcValue, PWP_UINT32 srcSize)
Value transfer callback function signature.
@ PWP_VALTYPE_REAL
transfer value is a PWP_REAL
PWP_PROTOTYPE_DECL PWP_BOOL PwpActivateAPI(const char api[])
Activates the plugin for a given API spec.
void * dest_
Pointer to the opaque value destination.
PWP_PROTOTYPE_DECL PWP_MESSAGECB PwpGetMessageCallback(const char api[])
Gets the current message callback.
The API information returned by plugins for each supported API.
PWP_PROTOTYPE_DECL PWP_VOID PwpSetLanguage(const char language[])
Sets the active language.
PWP_ENUM_MSGID
Supported PWP-API message ids.
PWP_MESSAGECB defCB
assigned default message callback
const char * support
support description (phone, web-link).
Provides general information about a plugin.
@ PWP_MSGID_INFO
Information text message id (see PWP_MSG_TEXT)
@ PWP_MSGID_DEBUG
Debug text message id (see PWP_MSG_TEXT)
PWP_PROTOTYPE_DECL PWP_BOOL PwpGetValue(const char group[], const char key[], PWP_HVALUE value)
Get the value for a grouped key.
PWP_PROTOTYPE_DECL PWP_UINT32 PwpGetAPICount()
Get the number of APIs supported by this plugin.
PWP_ENDIANNESS
Flags used to indicate endianness or control endian behaviors in functions.
const char * text
API defined message string.
PWP_PROTOTYPE_DECL PWP_VOID PwpDestroy()
Called by framework just before plugin library is closed.
@ PWP_VALTYPE_BOOL
transfer value is a PWP_BOOL
PWP_UINT32 PWP_VERSIONVAL
Version data component value.
@ PWP_VALTYPE_INT
transfer value is a PWP_INT
PWP_MESSAGECB spyCB
assigned spy message callback
PwpValue_t * PwpValueCB_
Callback function used to marshall a plugin value into dest_.
@ PWP_MSGID_PROGBEGIN
Begin progress message id (see PWP_MSG_PROGRESS)
PWP_UINT32(* PWP_MESSAGECB)(const char api[], PWP_ENUM_MSGID id, void *pMsg)
Message handler callback function signature.
@ PWP_ENCODING_UNFORMATTED
@ PWP_VALTYPE_ENUM
transfer value is a const char*
PWP_UINT32 code
API defined message code.
@ PWP_MSGID_ERROR
Fatal error text message id (see PWP_MSG_TEXT)
PWP_ENUM_DIMENSION
Supported dimensionality values.
PWP_PROTOTYPE_DECL PWP_MESSAGECB PwpSetMessageCallback(const char api[], PWP_MESSAGECB msgCB)
Sets the message callback function for the given api.
@ PWP_VALTYPE_UINT
transfer value is a PWP_UINT
PWP_UINT32 apiCount
number of APIs implemented by this plugin
PWP_VERSIONVAL minor
the minor version value
Installation's license data. NOT IMPLEMENTED YET.
The data sent by plugins for progress messages.
PWP_ENUM_PRECISION
File precision values.
const char * name
full API spec name
PWP_ENUM_FILEDEST
File destination types.