33 #ifndef _NP_RUNTIME_H_
34 #define _NP_RUNTIME_H_
73 #define NP_BEGIN_MACRO do {
74 #define NP_END_MACRO } while (0)
86 const NPUTF8 *UTF8Characters;
121 void NPN_ReleaseVariantValue(
NPVariant *variant);
123 #define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
124 #define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
125 #define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
126 #define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
127 #define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
128 #define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
129 #define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
131 #define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
132 #define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
133 #define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
134 #define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
135 #define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
137 #define VOID_TO_NPVARIANT(_v) \
139 (_v).type = NPVariantType_Void; \
140 (_v).value.objectValue = NULL; \
143 #define NULL_TO_NPVARIANT(_v) \
145 (_v).type = NPVariantType_Null; \
146 (_v).value.objectValue = NULL; \
149 #define BOOLEAN_TO_NPVARIANT(_val, _v) \
151 (_v).type = NPVariantType_Bool; \
152 (_v).value.boolValue = !!(_val); \
155 #define INT32_TO_NPVARIANT(_val, _v) \
157 (_v).type = NPVariantType_Int32; \
158 (_v).value.intValue = _val; \
161 #define DOUBLE_TO_NPVARIANT(_val, _v) \
163 (_v).type = NPVariantType_Double; \
164 (_v).value.doubleValue = _val; \
167 #define STRINGZ_TO_NPVARIANT(_val, _v) \
169 (_v).type = NPVariantType_String; \
170 NPString str = { _val, (uint32_t)(strlen(_val)) }; \
171 (_v).value.stringValue = str; \
174 #define STRINGN_TO_NPVARIANT(_val, _len, _v) \
176 (_v).type = NPVariantType_String; \
177 NPString str = { _val, (uint32_t)(_len) }; \
178 (_v).value.stringValue = str; \
181 #define OBJECT_TO_NPVARIANT(_val, _v) \
183 (_v).type = NPVariantType_Object; \
184 (_v).value.objectValue = _val; \
210 typedef void *NPIdentifier;
223 NPIdentifier NPN_GetStringIdentifier(
const NPUTF8 *name);
224 void NPN_GetStringIdentifiers(
const NPUTF8 **names, int32_t nameCount,
225 NPIdentifier *identifiers);
226 NPIdentifier NPN_GetIntIdentifier(int32_t intid);
227 bool NPN_IdentifierIsString(NPIdentifier identifier);
232 NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
238 int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
248 typedef void (*NPDeallocateFunctionPtr)(
NPObject *npobj);
249 typedef void (*NPInvalidateFunctionPtr)(
NPObject *npobj);
250 typedef bool (*NPHasMethodFunctionPtr)(
NPObject *npobj, NPIdentifier name);
251 typedef bool (*NPInvokeFunctionPtr)(
NPObject *npobj, NPIdentifier name,
252 const NPVariant *args, uint32_t argCount,
254 typedef bool (*NPInvokeDefaultFunctionPtr)(
NPObject *npobj,
258 typedef bool (*NPHasPropertyFunctionPtr)(
NPObject *npobj, NPIdentifier name);
259 typedef bool (*NPGetPropertyFunctionPtr)(
NPObject *npobj, NPIdentifier name,
261 typedef bool (*NPSetPropertyFunctionPtr)(
NPObject *npobj, NPIdentifier name,
263 typedef bool (*NPRemovePropertyFunctionPtr)(
NPObject *npobj,
265 typedef bool (*NPEnumerationFunctionPtr)(
NPObject *npobj, NPIdentifier **value,
267 typedef bool (*NPConstructFunctionPtr)(
NPObject *npobj,
297 uint32_t structVersion;
298 NPAllocateFunctionPtr allocate;
299 NPDeallocateFunctionPtr deallocate;
300 NPInvalidateFunctionPtr invalidate;
301 NPHasMethodFunctionPtr hasMethod;
302 NPInvokeFunctionPtr invoke;
303 NPInvokeDefaultFunctionPtr invokeDefault;
304 NPHasPropertyFunctionPtr hasProperty;
305 NPGetPropertyFunctionPtr getProperty;
306 NPSetPropertyFunctionPtr setProperty;
307 NPRemovePropertyFunctionPtr removeProperty;
308 NPEnumerationFunctionPtr enumerate;
309 NPConstructFunctionPtr construct;
312 #define NP_CLASS_STRUCT_VERSION 3
314 #define NP_CLASS_STRUCT_VERSION_ENUM 2
315 #define NP_CLASS_STRUCT_VERSION_CTOR 3
317 #define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
318 ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
320 #define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \
321 ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR)
325 uint32_t referenceCount;
349 void NPN_ReleaseObject(
NPObject *npobj);
363 bool NPN_Invoke(
NPP npp,
NPObject *npobj, NPIdentifier methodName,
369 bool NPN_GetProperty(
NPP npp,
NPObject *npobj, NPIdentifier propertyName,
371 bool NPN_SetProperty(
NPP npp,
NPObject *npobj, NPIdentifier propertyName,
373 bool NPN_RemoveProperty(
NPP npp,
NPObject *npobj, NPIdentifier propertyName);
374 bool NPN_HasProperty(
NPP npp,
NPObject *npobj, NPIdentifier propertyName);
375 bool NPN_HasMethod(
NPP npp,
NPObject *npobj, NPIdentifier methodName);
376 bool NPN_Enumerate(
NPP npp,
NPObject *npobj, NPIdentifier **identifier,
387 void NPN_SetException(
NPObject *npobj,
const NPUTF8 *message);
Definition: npruntime.h:100
Definition: npruntime.h:295
Definition: npruntime.h:323
Definition: npruntime.h:85