龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

我做的一个C++用的Serialization库(含部分源码)(7)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
42 VL_Serializer::VL_Serializer() 43 { 44 } 45 46 VL_Serializer::~VL_Serializer() 47 { 48 } 49 50 void VL_Serializer::RegisterClass(ClassSerializerBase* aClassSerializer) 51 { 52 FClassSerializers.Add

42     VL_Serializer::VL_Serializer()

43     {

44     }

45

46     VL_Serializer::~VL_Serializer()

47     {

48     }

49

50     void VL_Serializer::RegisterClass(ClassSerializerBase* aClassSerializer)

51     {

52       FClassSerializers.Add(aClassSerializer);

53     }

54

55     VL_Serializer::ClassSerializerBase* VL_Serializer::SelectClass(VL_SerializableObject* Object)

56     {

57       for(VInt i=0;i

58       {

59         ClassSerializerBase* Class=FClassSerializers[i].Object();

60         if(Class->Accept(Object))

61         {

62           return Class;

63         }

64       }

65       return 0;

66     }

67

68     VL_CommonObject VL_Serializer::Serialize(VL_SerializableObject* Object)

69     {

70       if(Object)

71       {

72         ClassSerializerBase* Class=SelectClass(Object);

73         if(Class)

74         {

75           VL_CommonObject ClassObject=VL_CommonObject::CreateClass(Class->GetClassTypeName());

76           Object->Serialize(this,ClassObject);

77           return ClassObject;

78         }

79         else

80         {

81           return VL_CommonObject::CreateError();

82         }

83       }

84       else

85       {

86         return VL_CommonObject::CreateNull();

87       }

88     }

89

90   }

91 }

精彩图集

赞助商链接