1
2
3
4 """
5 Flex Data Management Service implementation.
6
7 This module contains the message classes used with Flex Data Management
8 Service.
9
10 @author: U{Thijs Triemstra<mailto:info@collab.nl>}
11
12 @since: 0.1.0
13 """
14
15 import pyamf
16 from pyamf.flex.messaging import AsyncMessage, AcknowledgeMessage, ErrorMessage
17
18 __all__ = [
19 'DataMessage',
20 'SequencedMessage',
21 'PagedMessage',
22 'DataErrorMessage'
23 ]
24
26 """
27 I am used to transport an operation that occured on a managed object
28 or collection.
29
30 This class of message is transmitted between clients subscribed to a
31 remote destination as well as between server nodes within a cluster.
32 The payload of this message describes all of the relevant details of
33 the operation. This information is used to replicate updates and detect
34 conflicts.
35
36 @see: U{DataMessage on Livedocs (external)
37 <http://livedocs.adobe.com/flex/201/langref/mx/data/messages/DataMessage.html>}
38 """
39
41 AsyncMessage.__init__(self)
42
43
44
45 self.identity = None
46
47
48
49
50 self.operation = None
51
53 """
54 Response to L{DataMessage} requests.
55
56 @see: U{SequencedMessage on Livedocs (external)
57 <http://livedocs.adobe.com/flex/201/langref/mx/data/messages/SequencedMessage.html>}
58 """
59
61 AcknowledgeMessage.__init__(self)
62
63
64
65
66
67 self.sequenceId = None
68
69 self.sequenceProxies = None
70
71
72
73
74 self.sequenceSize = None
75
76 self.dataMessage = None
77
78 -class PagedMessage(SequencedMessage):
79 """
80 This messsage provides information about a partial sequence result.
81
82 @see: U{PagedMessage on Livedocs (external)
83 <http://livedocs.adobe.com/flex/201/langref/mx/data/messages/PagedMessage.html>}
84 """
85
87 SequencedMessage.__init__(self)
88
89
90 self.pageCount = None
91
92
93 self.pageIndex = None
94
96 """
97 Special cases of ErrorMessage will be sent when a data conflict
98 occurs.
99
100 This message provides the conflict information in addition to
101 the L{ErrorMessage<pyamf.flex.messaging.ErrorMessage>} information.
102
103 @see: U{DataErrorMessage on Livedocs (external)
104 <http://livedocs.adobe.com/flex/201/langref/mx/data/messages/DataErrorMessage.html>}
105 """
106
108 ErrorMessage.__init__(self)
109
110 self.cause = None
111
112
113 self.propertyNames = None
114
115
116 self.serverObject = None
117
118
119 MESSAGES_NS = 'flex.data.messages'
120
121 for x in (DataMessage, SequencedMessage, PagedMessage, DataErrorMessage):
122 pyamf.register_class(x, '%s.%s' % (MESSAGES_NS, x.__name__), metadata=['amf3'])
123 del x
124