plugins/api/src/helloworld.cpp
irods::api_entry* plugin_factory(
        const std::string&,     //_inst_name
        const std::string& ) { // _context
        // =-=-=-=-=-=-=-
        // create a api def object
        irods::apidef_t def = { 1300,
                                RODS_API_VERSION,
                                NO_USER_AUTH,
                                NO_USER_AUTH,
                                "HelloInp_PI", 0,
                                "HelloOut_PI", 0,
                                0, // null fcn ptr, handled in delay_load
                                0  // null clear fcn
                              };
        // =-=-=-=-=-=-=-
        // create an api object
        irods::api_entry* api = new irods::api_entry( def );

#ifdef RODS_SERVER
        api->fcn_name_ = "rs_hello_world";
#endif // RODS_SERVER

        // =-=-=-=-=-=-=-
        // assign the pack struct key and value
        api->in_pack_key   = "HelloInp_PI";
        api->in_pack_value = HelloInp_PI;

        api->out_pack_key   = "HelloOut_PI";
        api->out_pack_value = HelloOut_PI;

        api->extra_pack_struct[ "OtherOut_PI" ] = OtherOut_PI;

        return api;

    }
// =-=-=-=-=-=-=-
// factory function to provide instance of the plugin
factory function to provide instance of the plugin
factory function to provide instance of the plugin
irods::api_entry* plugin_factory(
        const std::string&,     
        const std::string& ) { 
        irods::apidef_t def = { 1300,
                                RODS_API_VERSION,
                                NO_USER_AUTH,
                                NO_USER_AUTH,
                                "HelloInp_PI", 0,
                                "HelloOut_PI", 0,
                                0, 
                                0  
                              };
        irods::api_entry* api = new irods::api_entry( def );
#ifdef RODS_SERVER
        api->fcn_name_ = "rs_hello_world";
#endif 
        api->in_pack_key   = "HelloInp_PI";
        api->in_pack_value = HelloInp_PI;
        api->out_pack_key   = "HelloOut_PI";
        api->out_pack_value = HelloOut_PI;
        api->extra_pack_struct[ "OtherOut_PI" ] = OtherOut_PI;
        return api;
    }
irods :: api_entry * plugin_factory ( const std :: string & , const std :: string & ) { irods :: apidef_t def = { 1300 , RODS_API_VERSION , NO_USER_AUTH , NO_USER_AUTH , " " , 0 , " " , 0 , 0 , 0 } ; irods :: api_entry * api = new irods :: api_entry ( def ) ; #ifdef RODS_SERVER api -> fcn_name_ = " " ; #endif api -> in_pack_key = " " ; api -> in_pack_value = HelloInp_PI ; api -> out_pack_key = " " ; api -> out_pack_value = HelloOut_PI ; api -> extra_pack_struct [ " " ] = OtherOut_PI ; return api ; }
factory function to provide instance of the plugin
factory function to provide instance of the plugin
//_inst_name // _context // =-=-=-=-=-=-=- // create a api def object // null fcn ptr, handled in delay_load // null clear fcn // =-=-=-=-=-=-=- // create an api object // RODS_SERVER // =-=-=-=-=-=-=- // assign the pack struct key and value