TYPEMAP xmmsc_connection_t* XMMSC_CONNECTION_T xmmsc_coll_t* XMMSC_COLL_T xmmsc_coll_type_t XMMSC_COLL_TYPE_T xmmsc_coll_namespace_t T_PV xmmsc_result_t* XMMSC_RESULT_T xmmsc_result_propdict_t* XMMSC_RESULT_PROPDICT_T xmms_plugin_type_t XMMS_PLUGIN_TYPE_T xmmsc_result_type_t XMMS_RESULT_TYPE_T xmms_object_cmd_arg_type_t XMMS_OBJECT_CMD_ARG_TYPE_T uint32_t T_UV int32_t T_IV perl_xmmsclient_collection_order_t PERL_XMMSCLIENT_COLLECTION_ORDER_T perl_xmmsclient_playlist_t * PERL_XMMSCLIENT_PLAYLIST_T OUTPUT XMMSC_CONNECTION_T if ($var == NULL) { $arg = &PL_sv_undef; } else { $arg = perl_xmmsclient_new_sv_from_ptr ($var, \"Audio::XMMSClient\"); } XMMSC_COLL_T $arg = perl_xmmsclient_new_sv_from_ptr ($var, \"Audio::XMMSClient::Collection\"); XMMSC_RESULT_T $arg = perl_xmmsclient_new_sv_from_ptr ($var, \"Audio::XMMSClient::Result\"); XMMS_RESULT_TYPE_T { $arg = newSVpv (\"unknown\", 0); if ($var == XMMSC_RESULT_CLASS_DEFAULT) { sv_setpv ($arg, \"default\"); } else if ($var == XMMSC_RESULT_CLASS_SIGNAL) { sv_setpv ($arg, \"signal\"); } else if ($var == XMMSC_RESULT_CLASS_BROADCAST) { sv_setpv ($arg, \"broadcast\"); } } XMMS_OBJECT_CMD_ARG_TYPE_T { $arg = newSVpv ("unknown", 0); if ($var == XMMS_OBJECT_CMD_ARG_NONE) { sv_setpv ($arg, \"none\"); } else if ($var == XMMS_OBJECT_CMD_ARG_UINT32) { sv_setpv ($arg, \"uint\"); } else if ($var == XMMS_OBJECT_CMD_ARG_INT32) { sv_setpv ($arg, \"int\"); } else if ($var == XMMS_OBJECT_CMD_ARG_STRING) { sv_setpv ($arg, \"string\"); } else if ($var == XMMS_OBJECT_CMD_ARG_DICT) { sv_setpv ($arg, \"dict\"); } else if ($var == XMMSC_RESULT_VALUE_TYPE_BIN) { sv_setpv ($arg, \"bin\"); } else if ($var == XMMSC_RESULT_VALUE_TYPE_COLL) { sv_setpv ($arg, \"coll\"); } else if ($var == XMMS_OBJECT_CMD_ARG_LIST) { sv_setpv ($arg, \"list\"); } else if ($var == XMMS_OBJECT_CMD_ARG_PROPDICT) { sv_setpv ($arg, \"propdict\"); } } XMMSC_COLL_TYPE_T { $arg = newSVpv ("", 0); if ($var == XMMS_COLLECTION_TYPE_REFERENCE) { sv_setpv ($arg, \"reference\"); } else if ($var == XMMS_COLLECTION_TYPE_UNION) { sv_setpv ($arg, \"union\"); } else if ($var == XMMS_COLLECTION_TYPE_INTERSECTION) { sv_setpv ($arg, \"intersection\"); } else if ($var == XMMS_COLLECTION_TYPE_COMPLEMENT) { sv_setpv ($arg, \"complement\"); } else if ($var == XMMS_COLLECTION_TYPE_HAS) { sv_setpv ($arg, \"has\"); } else if ($var == XMMS_COLLECTION_TYPE_EQUALS) { sv_setpv ($arg, \"equals\"); } else if ($var == XMMS_COLLECTION_TYPE_MATCH) { sv_setpv ($arg, \"match\"); } else if ($var == XMMS_COLLECTION_TYPE_SMALLER) { sv_setpv ($arg, \"smaller\"); } else if ($var == XMMS_COLLECTION_TYPE_GREATER) { sv_setpv ($arg, \"greater\"); } else if ($var == XMMS_COLLECTION_TYPE_IDLIST) { sv_setpv ($arg, \"idlist\"); } else if ($var == XMMS_COLLECTION_TYPE_QUEUE) { sv_setpv ($arg, \"queue\"); } else if ($var == XMMS_COLLECTION_TYPE_PARTYSHUFFLE) { sv_setpv ($arg, \"partyshuffle\"); } else { croak (\"unknown XMMSC_COLL_TYPE_T\"); } } PERL_XMMSCLIENT_PLAYLIST_T $arg = perl_xmmsclient_new_sv_from_ptr ($var, \"Audio::XMMSClient::Playlist\"); INPUT XMMSC_CONNECTION_T $var = ($type)perl_xmmsclient_get_ptr_from_sv ($arg, \"Audio::XMMSClient\"); XMMSC_COLL_T $var = ($type)perl_xmmsclient_get_ptr_from_sv ($arg, \"Audio::XMMSClient::Collection\"); XMMSC_RESULT_T $var = ($type)perl_xmmsclient_get_ptr_from_sv ($arg, \"Audio::XMMSClient::Result\"); XMMSC_RESULT_PROPDICT_T $var = (xmmsc_result_t *)perl_xmmsclient_get_ptr_from_sv ($arg, \"Audio::XMMSClient::Result::PropDict::Tie\"); XMMS_PLUGIN_TYPE_T { char *plugin_type = NULL; if ($arg == NULL) { plugin_type = \"\"; } else { plugin_type = SvPV_nolen ($arg); } if (strcmp (plugin_type, \"output\") == 0) { $var = XMMS_PLUGIN_TYPE_OUTPUT; } else if (strcmp (plugin_type, \"playlist\") == 0) { $var = XMMS_PLUGIN_TYPE_PLAYLIST; } else if (strcmp (plugin_type, \"effect\") == 0) { $var = XMMS_PLUGIN_TYPE_EFFECT; } else if (strcmp (plugin_type, \"xform\") == 0) { $var = XMMS_PLUGIN_TYPE_XFORM; } else if (strcmp (plugin_type, \"all\") == 0) { $var = XMMS_PLUGIN_TYPE_ALL; } else { croak (\"unknown XMMS_PLUGIN_TYPE_T: %s\", plugin_type); } } PERL_XMMSCLIENT_COLLECTION_ORDER_T $var = ($type)perl_xmmsclient_unpack_char_ptr_ptr ($arg); PERL_XMMSCLIENT_PLAYLIST_T $var = ($type)perl_xmmsclient_get_ptr_from_sv ($arg, \"Audio::XMMSClient::Playlist\"); XMMSC_COLL_TYPE_T { char *coll_type = SvPV_nolen ($arg); if (strcmp (coll_type, \"reference\") == 0) { $var = XMMS_COLLECTION_TYPE_REFERENCE; } else if (strcmp (coll_type, \"union\") == 0) { $var = XMMS_COLLECTION_TYPE_UNION; } else if (strcmp (coll_type, \"intersection\") == 0) { $var = XMMS_COLLECTION_TYPE_INTERSECTION; } else if (strcmp (coll_type, \"complement\") == 0) { $var = XMMS_COLLECTION_TYPE_COMPLEMENT; } else if (strcmp (coll_type, \"has\") == 0) { $var = XMMS_COLLECTION_TYPE_HAS; } else if (strcmp (coll_type, \"equals\") == 0) { $var = XMMS_COLLECTION_TYPE_EQUALS; } else if (strcmp (coll_type, \"match\") == 0) { $var = XMMS_COLLECTION_TYPE_MATCH; } else if (strcmp (coll_type, \"smaller\") == 0) { $var = XMMS_COLLECTION_TYPE_SMALLER; } else if (strcmp (coll_type, \"greater\") == 0) { $var = XMMS_COLLECTION_TYPE_GREATER; } else if (strcmp (coll_type, \"idlist\") == 0) { $var = XMMS_COLLECTION_TYPE_IDLIST; } else if (strcmp (coll_type, \"queue\") == 0) { $var = XMMS_COLLECTION_TYPE_QUEUE; } else if (strcmp (coll_type, \"partyshuffle\") == 0) { $var = XMMS_COLLECTION_TYPE_PARTYSHUFFLE; } else { croak (\"unknown XMMSC_COLL_TYPE_T: %s\", coll_type); } }