public static Name convertNativeName(NameStr nativeName)
        {
            Name name = new Name();

            name.CommonName = nativeName.CommonName;
            // TODO : add remaining fields
            return(name);
        }
        public static DeserializationFieldResult deserializeName(byte[] data, int idx)
        {
            int     initial = idx;
            NameStr name    = new NameStr();

            DeserializationFieldResult commonName = readByteArray(data, idx);

            name.CommonName = (byte[])commonName.value;
            idx            += commonName.size;

            DeserializationFieldResult country = readStringArray(data, idx);

            name.Country = (CMap <int, string>)country.value;
            idx         += country.size;

            DeserializationFieldResult organization = readStringArray(data, idx);

            name.Organization = (CMap <int, string>)organization.value;
            idx += organization.size;

            DeserializationFieldResult organizationalUnit = readStringArray(data, idx);

            name.OrganizationalUnit = (CMap <int, string>)organizationalUnit.value;
            idx += organizationalUnit.size;

            DeserializationFieldResult locality = readStringArray(data, idx);

            name.Locality = (CMap <int, string>)locality.value;
            idx          += locality.size;

            DeserializationFieldResult province = readStringArray(data, idx);

            name.Province = (CMap <int, string>)province.value;
            idx          += province.size;

            DeserializationFieldResult streetAddress = readStringArray(data, idx);

            name.StreetAddress = (CMap <int, string>)streetAddress.value;
            idx += streetAddress.size;

            DeserializationFieldResult postalCode = readStringArray(data, idx);

            name.PostalCode = (CMap <int, string>)postalCode.value;
            idx            += postalCode.size;

            DeserializationFieldResult serialNumber = readString(data, idx);

            name.SerialNumber = (string)serialNumber.value;
            idx += serialNumber.size;

            DeserializationFieldResult res = new DeserializationFieldResult {
            };

            res.value = name;
            res.size  = idx - initial;
            return(res);
        }
 public static void print(NameStr name, string prefix)
 {
     Runtime.Notify("test", prefix + "commonName", 4, name.CommonName);
     print(name.Country, prefix + "country");
     print(name.Organization, prefix + "organization");
     print(name.OrganizationalUnit, prefix + "organizationalUnit");
     print(name.Locality, prefix + "locality");
     print(name.Province, prefix + "province");
     print(name.StreetAddress, prefix + "streetAddress");
     print(name.PostalCode, prefix + "postalCode");
     Runtime.Notify("test", prefix + "serialNumber", 4, name.SerialNumber);
 }