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