public static new Entry FromTagged (JSONReader JSONReader) {
Entry Out = null;
JSONReader.StartObject ();
if (JSONReader.EOR) {
return null;
}
string token = JSONReader.ReadToken ();
switch (token) {
case "Entry" : {
var Result = new Entry ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedProfile" : {
var Result = new SignedProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedDeviceProfile" : {
var Result = new SignedDeviceProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedMasterProfile" : {
var Result = new SignedMasterProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedPersonalProfile" : {
var Result = new SignedPersonalProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedApplicationProfile" : {
var Result = new SignedApplicationProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedConnectionRequest" : {
var Result = new SignedConnectionRequest ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "SignedConnectionResult" : {
var Result = new SignedConnectionResult ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "Profile" : {
Out = null;
throw new Exception ("Can't create abstract type");
}
case "DeviceProfile" : {
var Result = new DeviceProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "MasterProfile" : {
var Result = new MasterProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "PersonalProfile" : {
var Result = new PersonalProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "ApplicationProfile" : {
var Result = new ApplicationProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "EncryptedProfile" : {
var Result = new EncryptedProfile ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "ApplicationProfilePrivate" : {
var Result = new ApplicationProfilePrivate ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "EscrowEntry" : {
var Result = new EscrowEntry ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "OfflineEscrowEntry" : {
var Result = new OfflineEscrowEntry ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
case "OnlineEscrowEntry" : {
var Result = new OnlineEscrowEntry ();
Result.Deserialize (JSONReader);
Out = Result;
break;
}
default : {
//Ignore the unknown data
//throw new Exception ("Not supported");
break;
}
}
JSONReader.EndObject ();
return Out;
}