Revision 4 (by moose, 2009/02/13 04:09:19) * add msgtest2.pl test for new highlevel api
* separate XS into Message and Item related code
* remove Makefile.old from svn
* add encode/decode support to hl CSE::Proto::Message class
* convert CSE::Proto::C::Item to use a simple blessed pointer instead of a hashref holding the handle
* fix CSE::Proto::Message::Item::clone to properly clone the value, not just copy an ARRAY ref
* add support for MESSAGE type items in the parser
TYPEMAP
CSE_Proto_C_Message      T_PTROBJ_SPECIAL
CSE_Proto_C_Item T_PTROBJ_SPECIAL
cseproto_wiretype_t           T_UV
uint32_t             T_UV
uint64_t             T_NV
uint8_t *               T_PV
uint8_t **              T_PTR

INPUT
T_PTROBJ_SPECIAL
   if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")) {
      IV tmp = SvIV((SV*)SvRV($arg));
      $var = INT2PTR($type, tmp);
   }
   else
      croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")

OUTPUT
T_PTROBJ_SPECIAL
   sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\",
                 (void*)$var);