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);
}
}