/* WARNING: THIS FILE IS AUTO-GENERATED. DO NOT MODIFY. This file was generated from HelloWorld.idl using "rtiddsgen". The rtiddsgen tool is part of the RTI Connext distribution. For more information, type 'rtiddsgen -help' at a command shell or consult the RTI Connext manual. */ #ifndef HelloWorldPlugin_1436885487_h #define HelloWorldPlugin_1436885487_h #include "HelloWorld.h" struct RTICdrStream; #ifndef pres_typePlugin_h #include "pres/pres_typePlugin.h" #endif #if (defined(RTI_WIN32) || defined (RTI_WINCE)) && defined(NDDS_USER_DLL_EXPORT) /* If the code is building on Windows, start exporting symbols. */ #undef NDDSUSERDllExport #define NDDSUSERDllExport __declspec(dllexport) #endif #ifdef __cplusplus extern "C" { #endif #define HelloWorldPlugin_get_sample PRESTypePluginDefaultEndpointData_getSample #define HelloWorldPlugin_return_sample PRESTypePluginDefaultEndpointData_returnSample #define HelloWorldPlugin_get_buffer PRESTypePluginDefaultEndpointData_getBuffer #define HelloWorldPlugin_return_buffer PRESTypePluginDefaultEndpointData_returnBuffer #define HelloWorldPlugin_create_sample PRESTypePluginDefaultEndpointData_createSample #define HelloWorldPlugin_destroy_sample PRESTypePluginDefaultEndpointData_deleteSample /* -------------------------------------------------------------------------------------- Support functions: * -------------------------------------------------------------------------------------- */ NDDSUSERDllExport extern HelloWorld* HelloWorldPluginSupport_create_data_ex(RTIBool allocate_pointers); NDDSUSERDllExport extern HelloWorld* HelloWorldPluginSupport_create_data(void); NDDSUSERDllExport extern RTIBool HelloWorldPluginSupport_copy_data( HelloWorld *out, const HelloWorld *in); NDDSUSERDllExport extern void HelloWorldPluginSupport_destroy_data_ex( HelloWorld *sample,RTIBool deallocate_pointers); NDDSUSERDllExport extern void HelloWorldPluginSupport_destroy_data( HelloWorld *sample); NDDSUSERDllExport extern void HelloWorldPluginSupport_print_data( const HelloWorld *sample, const char *desc, unsigned int indent); /* ---------------------------------------------------------------------------- Callback functions: * ---------------------------------------------------------------------------- */ NDDSUSERDllExport extern PRESTypePluginParticipantData HelloWorldPlugin_on_participant_attached( void *registration_data, const struct PRESTypePluginParticipantInfo *participant_info, RTIBool top_level_registration, void *container_plugin_context, RTICdrTypeCode *typeCode); NDDSUSERDllExport extern void HelloWorldPlugin_on_participant_detached( PRESTypePluginParticipantData participant_data); NDDSUSERDllExport extern PRESTypePluginEndpointData HelloWorldPlugin_on_endpoint_attached( PRESTypePluginParticipantData participant_data, const struct PRESTypePluginEndpointInfo *endpoint_info, RTIBool top_level_registration, void *container_plugin_context); NDDSUSERDllExport extern void HelloWorldPlugin_on_endpoint_detached( PRESTypePluginEndpointData endpoint_data); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_copy_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld *out, const HelloWorld *in); /* -------------------------------------------------------------------------------------- (De)Serialize functions: * -------------------------------------------------------------------------------------- */ NDDSUSERDllExport extern RTIBool HelloWorldPlugin_serialize( PRESTypePluginEndpointData endpoint_data, const HelloWorld *sample, struct RTICdrStream *stream, RTIBool serialize_encapsulation, RTIEncapsulationId encapsulation_id, RTIBool serialize_sample, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_deserialize_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld *sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_sample, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_deserialize( PRESTypePluginEndpointData endpoint_data, HelloWorld **sample, RTIBool * drop_sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_sample, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_skip( PRESTypePluginEndpointData endpoint_data, struct RTICdrStream *stream, RTIBool skip_encapsulation, RTIBool skip_sample, void *endpoint_plugin_qos); NDDSUSERDllExport extern unsigned int HelloWorldPlugin_get_serialized_sample_max_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment); NDDSUSERDllExport extern unsigned int HelloWorldPlugin_get_serialized_sample_min_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment); NDDSUSERDllExport extern unsigned int HelloWorldPlugin_get_serialized_sample_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment, const HelloWorld * sample); /* -------------------------------------------------------------------------------------- Key Management functions: * -------------------------------------------------------------------------------------- */ NDDSUSERDllExport extern PRESTypePluginKeyKind HelloWorldPlugin_get_key_kind(void); NDDSUSERDllExport extern unsigned int HelloWorldPlugin_get_serialized_key_max_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_serialize_key( PRESTypePluginEndpointData endpoint_data, const HelloWorld *sample, struct RTICdrStream *stream, RTIBool serialize_encapsulation, RTIEncapsulationId encapsulation_id, RTIBool serialize_key, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_deserialize_key_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld * sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_deserialize_key( PRESTypePluginEndpointData endpoint_data, HelloWorld ** sample, RTIBool * drop_sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos); NDDSUSERDllExport extern RTIBool HelloWorldPlugin_serialized_sample_to_key( PRESTypePluginEndpointData endpoint_data, HelloWorld *sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos); /* Plugin Functions */ NDDSUSERDllExport extern struct PRESTypePlugin* HelloWorldPlugin_new(void); NDDSUSERDllExport extern void HelloWorldPlugin_delete(struct PRESTypePlugin *); #ifdef __cplusplus } #endif #if (defined(RTI_WIN32) || defined (RTI_WINCE)) && defined(NDDS_USER_DLL_EXPORT) /* If the code is building on Windows, stop exporting symbols. */ #undef NDDSUSERDllExport #define NDDSUSERDllExport #endif #endif /* HelloWorldPlugin_1436885487_h */
/* WARNING: THIS FILE IS AUTO-GENERATED. DO NOT MODIFY. This file was generated from HelloWorld.idl using "rtiddsgen". The rtiddsgen tool is part of the RTI Connext distribution. For more information, type 'rtiddsgen -help' at a command shell or consult the RTI Connext manual. */ #include <string.h> #ifdef __cplusplus #ifndef ndds_cpp_h #include "ndds/ndds_cpp.h" #endif #else #ifndef ndds_c_h #include "ndds/ndds_c.h" #endif #endif #ifndef osapi_type_h #include "osapi/osapi_type.h" #endif #ifndef osapi_heap_h #include "osapi/osapi_heap.h" #endif #ifndef osapi_utility_h #include "osapi/osapi_utility.h" #endif #ifndef cdr_type_h #include "cdr/cdr_type.h" #endif #ifndef cdr_encapsulation_h #include "cdr/cdr_encapsulation.h" #endif #ifndef cdr_stream_h #include "cdr/cdr_stream.h" #endif #ifndef pres_typePlugin_h #include "pres/pres_typePlugin.h" #endif #include "HelloWorldPlugin.h" /* -------------------------------------------------------------------------------------- * Type HelloWorld * -------------------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------------------- Support functions: * -------------------------------------------------------------------------------------- */ HelloWorld * HelloWorldPluginSupport_create_data_ex(RTIBool allocate_pointers){ HelloWorld *sample = NULL; RTIOsapiHeap_allocateStructure( &sample, HelloWorld); if(sample != NULL) { if (!HelloWorld_initialize_ex(sample,allocate_pointers)) { RTIOsapiHeap_freeStructure(&sample); return NULL; } } return sample; } HelloWorld * HelloWorldPluginSupport_create_data(void) { return HelloWorldPluginSupport_create_data_ex(RTI_TRUE); } void HelloWorldPluginSupport_destroy_data_ex( HelloWorld *sample,RTIBool deallocate_pointers) { HelloWorld_finalize_ex(sample,deallocate_pointers); RTIOsapiHeap_freeStructure(sample); } void HelloWorldPluginSupport_destroy_data( HelloWorld *sample) { HelloWorldPluginSupport_destroy_data_ex(sample,RTI_TRUE); } RTIBool HelloWorldPluginSupport_copy_data( HelloWorld *dst, const HelloWorld *src) { return HelloWorld_copy(dst,src); } void HelloWorldPluginSupport_print_data( const HelloWorld *sample, const char *desc, unsigned int indent_level) { RTICdrType_printIndent(indent_level); if (desc != NULL) { RTILog_debug("%s:\n", desc); } else { RTILog_debug("\n"); } if (sample == NULL) { RTILog_debug("NULL\n"); return; } if (&sample->msg==NULL) { RTICdrType_printString( NULL, "msg", indent_level + 1); } else { RTICdrType_printString( sample->msg, "msg", indent_level + 1); } } /* ---------------------------------------------------------------------------- Callback functions: * ---------------------------------------------------------------------------- */ PRESTypePluginParticipantData HelloWorldPlugin_on_participant_attached( void *registration_data, const struct PRESTypePluginParticipantInfo *participant_info, RTIBool top_level_registration, void *container_plugin_context, RTICdrTypeCode *type_code) { if (registration_data) {} /* To avoid warnings */ if (participant_info) {} /* To avoid warnings */ if (top_level_registration) {} /* To avoid warnings */ if (container_plugin_context) {} /* To avoid warnings */ if (type_code) {} /* To avoid warnings */ return PRESTypePluginDefaultParticipantData_new(participant_info); } void HelloWorldPlugin_on_participant_detached( PRESTypePluginParticipantData participant_data) { PRESTypePluginDefaultParticipantData_delete(participant_data); } PRESTypePluginEndpointData HelloWorldPlugin_on_endpoint_attached( PRESTypePluginParticipantData participant_data, const struct PRESTypePluginEndpointInfo *endpoint_info, RTIBool top_level_registration, void *containerPluginContext) { PRESTypePluginEndpointData epd = NULL; if (top_level_registration) {} /* To avoid warnings */ if (containerPluginContext) {} /* To avoid warnings */ epd = PRESTypePluginDefaultEndpointData_new( participant_data, endpoint_info, (PRESTypePluginDefaultEndpointDataCreateSampleFunction) HelloWorldPluginSupport_create_data, (PRESTypePluginDefaultEndpointDataDestroySampleFunction) HelloWorldPluginSupport_destroy_data, NULL, NULL); if (epd == NULL) { return NULL; } if (endpoint_info->endpointKind == PRES_TYPEPLUGIN_ENDPOINT_WRITER) { if (PRESTypePluginDefaultEndpointData_createWriterPool( epd, endpoint_info, (PRESTypePluginGetSerializedSampleMaxSizeFunction) HelloWorldPlugin_get_serialized_sample_max_size, epd, (PRESTypePluginGetSerializedSampleSizeFunction) HelloWorldPlugin_get_serialized_sample_size, epd) == RTI_FALSE) { PRESTypePluginDefaultEndpointData_delete(epd); return NULL; } } return epd; } void HelloWorldPlugin_on_endpoint_detached( PRESTypePluginEndpointData endpoint_data) { PRESTypePluginDefaultEndpointData_delete(endpoint_data); } RTIBool HelloWorldPlugin_copy_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld *dst, const HelloWorld *src) { if (endpoint_data) {} /* To avoid warnings */ return HelloWorldPluginSupport_copy_data(dst,src); } /* -------------------------------------------------------------------------------------- (De)Serialize functions: * -------------------------------------------------------------------------------------- */ RTIBool HelloWorldPlugin_serialize( PRESTypePluginEndpointData endpoint_data, const HelloWorld *sample, struct RTICdrStream *stream, RTIBool serialize_encapsulation, RTIEncapsulationId encapsulation_id, RTIBool serialize_sample, void *endpoint_plugin_qos) { char * position = NULL; RTIBool retval = RTI_TRUE; if (endpoint_data) {} /* To avoid warnings */ if (endpoint_plugin_qos) {} /* To avoid warnings */ if(serialize_encapsulation) { if (!RTICdrStream_serializeAndSetCdrEncapsulation(stream, encapsulation_id)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if(serialize_sample) { if (!RTICdrStream_serializeString( stream, sample->msg, (128) + 1)) { return RTI_FALSE; } } if(serialize_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return retval; } RTIBool HelloWorldPlugin_deserialize_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld *sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_sample, void *endpoint_plugin_qos) { char * position = NULL; if (endpoint_data) {} /* To avoid warnings */ if (endpoint_plugin_qos) {} /* To avoid warnings */ if(deserialize_encapsulation) { /* Deserialize encapsulation */ if (!RTICdrStream_deserializeAndSetCdrEncapsulation(stream)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if(deserialize_sample) { if (!RTICdrStream_deserializeString( stream, sample->msg, (128) + 1)) { return RTI_FALSE; } } if(deserialize_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return RTI_TRUE; } RTIBool HelloWorldPlugin_deserialize( PRESTypePluginEndpointData endpoint_data, HelloWorld **sample, RTIBool * drop_sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_sample, void *endpoint_plugin_qos) { if (drop_sample) {} /* To avoid warnings */ return HelloWorldPlugin_deserialize_sample( endpoint_data, (sample != NULL)?*sample:NULL, stream, deserialize_encapsulation, deserialize_sample, endpoint_plugin_qos); } RTIBool HelloWorldPlugin_skip( PRESTypePluginEndpointData endpoint_data, struct RTICdrStream *stream, RTIBool skip_encapsulation, RTIBool skip_sample, void *endpoint_plugin_qos) { char * position = NULL; if (endpoint_data) {} /* To avoid warnings */ if (endpoint_plugin_qos) {} /* To avoid warnings */ if(skip_encapsulation) { if (!RTICdrStream_skipEncapsulation(stream)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if (skip_sample) { if (!RTICdrStream_skipString(stream, (128) + 1)) { return RTI_FALSE; } } if(skip_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return RTI_TRUE; } unsigned int HelloWorldPlugin_get_serialized_sample_max_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment) { unsigned int initial_alignment = current_alignment; unsigned int encapsulation_size = current_alignment; if (endpoint_data) {} /* To avoid warnings */ if (include_encapsulation) { if (!RTICdrEncapsulation_validEncapsulationId(encapsulation_id)) { return 1; } RTICdrStream_getEncapsulationSize(encapsulation_size); encapsulation_size -= current_alignment; current_alignment = 0; initial_alignment = 0; } current_alignment += RTICdrType_getStringMaxSizeSerialized( current_alignment, (128) + 1); if (include_encapsulation) { current_alignment += encapsulation_size; } return current_alignment - initial_alignment; } unsigned int HelloWorldPlugin_get_serialized_sample_min_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment) { unsigned int initial_alignment = current_alignment; unsigned int encapsulation_size = current_alignment; if (endpoint_data) {} /* To avoid warnings */ if (include_encapsulation) { if (!RTICdrEncapsulation_validEncapsulationId(encapsulation_id)) { return 1; } RTICdrStream_getEncapsulationSize(encapsulation_size); encapsulation_size -= current_alignment; current_alignment = 0; initial_alignment = 0; } current_alignment += RTICdrType_getStringMaxSizeSerialized( current_alignment, 1); if (include_encapsulation) { current_alignment += encapsulation_size; } return current_alignment - initial_alignment; } /* Returns the size of the sample in its serialized form (in bytes). * It can also be an estimation in excess of the real buffer needed * during a call to the serialize() function. * The value reported does not have to include the space for the * encapsulation flags. */ unsigned int HelloWorldPlugin_get_serialized_sample_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment, const HelloWorld * sample) { unsigned int initial_alignment = current_alignment; unsigned int encapsulation_size = current_alignment; if (endpoint_data) {} /* To avoid warnings */ if (sample) {} /* To avoid warnings */ if (include_encapsulation) { if (!RTICdrEncapsulation_validEncapsulationId(encapsulation_id)) { return 1; } RTICdrStream_getEncapsulationSize(encapsulation_size); encapsulation_size -= current_alignment; current_alignment = 0; initial_alignment = 0; } current_alignment += RTICdrType_getStringSerializedSize( current_alignment, sample->msg); if (include_encapsulation) { current_alignment += encapsulation_size; } return current_alignment - initial_alignment; } /* -------------------------------------------------------------------------------------- Key Management functions: * -------------------------------------------------------------------------------------- */ PRESTypePluginKeyKind HelloWorldPlugin_get_key_kind(void) { return PRES_TYPEPLUGIN_NO_KEY; } RTIBool HelloWorldPlugin_serialize_key( PRESTypePluginEndpointData endpoint_data, const HelloWorld *sample, struct RTICdrStream *stream, RTIBool serialize_encapsulation, RTIEncapsulationId encapsulation_id, RTIBool serialize_key, void *endpoint_plugin_qos) { char * position = NULL; if (endpoint_data) {} /* To avoid warnings */ if (endpoint_plugin_qos) {} /* To avoid warnings */ if(serialize_encapsulation) { if (!RTICdrStream_serializeAndSetCdrEncapsulation(stream, encapsulation_id)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if(serialize_key) { if (!HelloWorldPlugin_serialize( endpoint_data, sample, stream, RTI_FALSE, encapsulation_id, RTI_TRUE, endpoint_plugin_qos)) { return RTI_FALSE; } } if(serialize_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return RTI_TRUE; } RTIBool HelloWorldPlugin_deserialize_key_sample( PRESTypePluginEndpointData endpoint_data, HelloWorld *sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos) { char * position = NULL; if (endpoint_data) {} /* To avoid warnings */ if (endpoint_plugin_qos) {} /* To avoid warnings */ if(deserialize_encapsulation) { /* Deserialize encapsulation */ if (!RTICdrStream_deserializeAndSetCdrEncapsulation(stream)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if (deserialize_key) { if (!HelloWorldPlugin_deserialize_sample( endpoint_data, sample, stream, RTI_FALSE, RTI_TRUE, endpoint_plugin_qos)) { return RTI_FALSE; } } if(deserialize_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return RTI_TRUE; } RTIBool HelloWorldPlugin_deserialize_key( PRESTypePluginEndpointData endpoint_data, HelloWorld **sample, RTIBool * drop_sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos) { if (drop_sample) {} /* To avoid warnings */ return HelloWorldPlugin_deserialize_key_sample( endpoint_data, (sample != NULL)?*sample:NULL, stream, deserialize_encapsulation, deserialize_key, endpoint_plugin_qos); } unsigned int HelloWorldPlugin_get_serialized_key_max_size( PRESTypePluginEndpointData endpoint_data, RTIBool include_encapsulation, RTIEncapsulationId encapsulation_id, unsigned int current_alignment) { unsigned int encapsulation_size = current_alignment; unsigned int initial_alignment = current_alignment; if (endpoint_data) {} /* To avoid warnings */ if (include_encapsulation) { if (!RTICdrEncapsulation_validEncapsulationId(encapsulation_id)) { return 1; } RTICdrStream_getEncapsulationSize(encapsulation_size); encapsulation_size -= current_alignment; current_alignment = 0; initial_alignment = 0; } current_alignment += HelloWorldPlugin_get_serialized_sample_max_size( endpoint_data,RTI_FALSE, encapsulation_id, current_alignment); if (include_encapsulation) { current_alignment += encapsulation_size; } return current_alignment - initial_alignment; } RTIBool HelloWorldPlugin_serialized_sample_to_key( PRESTypePluginEndpointData endpoint_data, HelloWorld *sample, struct RTICdrStream *stream, RTIBool deserialize_encapsulation, RTIBool deserialize_key, void *endpoint_plugin_qos) { char * position = NULL; if(deserialize_encapsulation) { if (!RTICdrStream_deserializeAndSetCdrEncapsulation(stream)) { return RTI_FALSE; } position = RTICdrStream_resetAlignment(stream); } if (deserialize_key) { if (!HelloWorldPlugin_deserialize_sample( endpoint_data, sample, stream, RTI_FALSE, RTI_TRUE, endpoint_plugin_qos)) { return RTI_FALSE; } } if(deserialize_encapsulation) { RTICdrStream_restoreAlignment(stream,position); } return RTI_TRUE; } /* ------------------------------------------------------------------------ * Plug-in Installation Methods * ------------------------------------------------------------------------ */ struct PRESTypePlugin *HelloWorldPlugin_new(void) { struct PRESTypePlugin *plugin = NULL; const struct PRESTypePluginVersion PLUGIN_VERSION = PRES_TYPE_PLUGIN_VERSION_2_0; RTIOsapiHeap_allocateStructure( &plugin, struct PRESTypePlugin); if (plugin == NULL) { return NULL; } plugin->version = PLUGIN_VERSION; /* set up parent's function pointers */ plugin->onParticipantAttached = (PRESTypePluginOnParticipantAttachedCallback) HelloWorldPlugin_on_participant_attached; plugin->onParticipantDetached = (PRESTypePluginOnParticipantDetachedCallback) HelloWorldPlugin_on_participant_detached; plugin->onEndpointAttached = (PRESTypePluginOnEndpointAttachedCallback) HelloWorldPlugin_on_endpoint_attached; plugin->onEndpointDetached = (PRESTypePluginOnEndpointDetachedCallback) HelloWorldPlugin_on_endpoint_detached; plugin->copySampleFnc = (PRESTypePluginCopySampleFunction) HelloWorldPlugin_copy_sample; plugin->createSampleFnc = (PRESTypePluginCreateSampleFunction) HelloWorldPlugin_create_sample; plugin->destroySampleFnc = (PRESTypePluginDestroySampleFunction) HelloWorldPlugin_destroy_sample; plugin->serializeFnc = (PRESTypePluginSerializeFunction) HelloWorldPlugin_serialize; plugin->deserializeFnc = (PRESTypePluginDeserializeFunction) HelloWorldPlugin_deserialize; plugin->getSerializedSampleMaxSizeFnc = (PRESTypePluginGetSerializedSampleMaxSizeFunction) HelloWorldPlugin_get_serialized_sample_max_size; plugin->getSerializedSampleMinSizeFnc = (PRESTypePluginGetSerializedSampleMinSizeFunction) HelloWorldPlugin_get_serialized_sample_min_size; plugin->getSampleFnc = (PRESTypePluginGetSampleFunction) HelloWorldPlugin_get_sample; plugin->returnSampleFnc = (PRESTypePluginReturnSampleFunction) HelloWorldPlugin_return_sample; plugin->getKeyKindFnc = (PRESTypePluginGetKeyKindFunction) HelloWorldPlugin_get_key_kind; /* These functions are only used for keyed types. As this is not a keyed type they are all set to NULL */ plugin->serializeKeyFnc = NULL; plugin->deserializeKeyFnc = NULL; plugin->getKeyFnc = NULL; plugin->returnKeyFnc = NULL; plugin->instanceToKeyFnc = NULL; plugin->keyToInstanceFnc = NULL; plugin->getSerializedKeyMaxSizeFnc = NULL; plugin->instanceToKeyHashFnc = NULL; plugin->serializedSampleToKeyHashFnc = NULL; plugin->serializedKeyToKeyHashFnc = NULL; plugin->typeCode = (struct RTICdrTypeCode *)HelloWorld_get_typecode(); plugin->languageKind = PRES_TYPEPLUGIN_DDS_TYPE; /* Serialized buffer */ plugin->getBuffer = (PRESTypePluginGetBufferFunction) HelloWorldPlugin_get_buffer; plugin->returnBuffer = (PRESTypePluginReturnBufferFunction) HelloWorldPlugin_return_buffer; plugin->getSerializedSampleSizeFnc = (PRESTypePluginGetSerializedSampleSizeFunction) HelloWorldPlugin_get_serialized_sample_size; plugin->endpointTypeName = HelloWorldTYPENAME; return plugin; } void HelloWorldPlugin_delete(struct PRESTypePlugin *plugin) { RTIOsapiHeap_freeStructure(plugin); }