-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathResourceDetail.cs
More file actions
76 lines (61 loc) · 1.52 KB
/
Copy pathResourceDetail.cs
File metadata and controls
76 lines (61 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.Xml;
using BitDiffer.Common.Interfaces;
using BitDiffer.Common.Utility;
using BitDiffer.Common.Misc;
using BitDiffer.Common.Configuration;
namespace BitDiffer.Common.Model
{
[Serializable]
public class ResourceDetail : RootDetail
{
private string _contentHash;
public ResourceDetail()
{
}
public ResourceDetail(RootDetail parent, string name, byte[] content)
: base(parent, name)
{
_contentHash = GenericUtility.GetHashText(content);
}
public override string GetTextTitle()
{
return "Embedded resource " + _name;
}
public override string ToString()
{
return _contentHash;
}
protected override bool FullNameRoot
{
get { return true; }
}
protected override ChangeType CompareInstance(ICanCompare previous, bool suppressBreakingChanges)
{
ChangeType change = base.CompareInstance(previous, suppressBreakingChanges);
ResourceDetail other = (ResourceDetail)previous;
if (string.Compare(_contentHash, other._contentHash) != 0)
{
change |= ChangeType.ContentChanged;
}
return change;
}
public string ContentHash
{
get { return _contentHash; }
set { _contentHash = value; }
}
protected override void SerializeWriteRawContent(XmlWriter writer)
{
base.SerializeWriteRawContent(writer);
writer.WriteAttributeString("ContentHash", _contentHash);
}
protected override string SerializeGetElementName()
{
return "Resource";
}
}
}