1 import types
2 import AID
3
5 """
6 FIPA envelope
7 """
8 - def __init__(self,to=None,_from=None,comments=None,aclRepresentation=None,payloadLength=None,payloadEncoding=None,date=None,encrypted=None,intendedReceiver=None,received=None,transportBehaviour=None,userDefinedProperties=None):
9
10 self.to = list()
11 if to != None:
12 for i in to:
13 if isinstance(i,AID.aid):
14 self.to.append(i)
15 self._from = None
16 if _from != None and isinstance(_from,AID.aid):
17 self._from = _from
18
19 if comments != None:
20 self.comments= comments
21 else:
22 self.comments = None
23 if aclRepresentation != None:
24 self.aclRepresentation = aclRepresentation
25 else:
26 self.aclRepresentation = None
27 if payloadLength != None:
28 self.payloadLength = payloadLength
29 else:
30 self.payloadLength = None
31 if payloadEncoding != None:
32 self.payloadEncoding = payloadEncoding
33 else:
34 self.payloadEncoding = None
35 if date != None:
36 self.date = date
37 else:
38 self.date = None
39 if encrypted != None:
40 self.encrypted = encrypted
41 else:
42 self.encrypted = list()
43 if intendedReceiver != None:
44 self.intendedReceiver = intendedReceiver
45 else:
46 self.intendedReceiver = list()
47 if received != None:
48 self.received = received
49 else:
50 self.received = None
51 if transportBehaviour != None:
52 self.transportBehaviour = transportBehaviour
53 else:
54 self.transportBehaviour = list()
55 if userDefinedProperties != None:
56 self.userDefinedProperties = userDefinedProperties
57 else:
58 self.userDefinedProperties = list()
59
60
63
67
70
73
76
79
81 return self.aclRepresentation
82
84 self.aclRepresentation = acl
85
87 return self.payloadLength
88
90 self.payloadLength = pl
91
93 return self.payloadEncoding
94
96 self.payloadEncoding = pe
97
100
103
105 return self.encrypted
106
108 self.encrypted = encrypted
109
111 return self.intendedReceiver
112
114 if not intended in self.intendedReceiver:
115 self.intendedReceiver.append(intended)
116
119
121 self.received = received
122
124 """
125 returns a printable version of the envelope in XML
126 """
127 r = '<?xml version="1.0"?>' +"\n"
128 r=r+"\t\t<envelope> \n"
129 r=r+'\t\t\t<params index="1">'+"\n"
130 r=r+"\t\t\t\t<to>\n"
131 for aid in self.to:
132 r=r+"\t\t\t\t\t<agent-identifier> \n"
133 r=r+"\t\t\t\t\t\t<name>" + aid.getName() + "</name> \n"
134 r=r+"\t\t\t\t\t\t<addresses>\n"
135 for addr in aid.getAddresses():
136 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n"
137 r=r+"\t\t\t\t\t\t</addresses> \n"
138 r=r+"\t\t\t\t\t</agent-identifier>\n"
139 r=r+"\t\t\t\t</to> \n"
140 if self._from:
141 r=r+"\t\t\t\t<from> \n"
142 r=r+"\t\t\t\t\t<agent-identifier> \n"
143 r=r+"\t\t\t\t\t\t<name>" + self._from.getName() + "</name> \n"
144 r=r+"\t\t\t\t\t\t<addresses>\n"
145 for addr in self._from.getAddresses():
146 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n"
147 r=r+"\t\t\t\t\t\t</addresses> \n"
148 r=r+"\t\t\t\t\t</agent-identifier> \n"
149 r=r+"\t\t\t\t</from>\n"
150 if self.aclRepresentation:
151 r=r+ "\t\t\t\t<acl-representation>"+ self.aclRepresentation + "</acl-representation>\n"
152 if self.payloadLength:
153 r=r+ "\t\t\t\t<payload-length>"+self.payloadLength+"</payload-length>\n"
154 if self.payloadEncoding:
155 r=r+ "\t\t\t\t<payload-encoding>"+self.payloadEncoding+"</payload-encoding>\n"
156 if self.date:
157 r=r+ "\t\t\t\t<date>"+str(self.date)+"</date>\n"
158 if self.intendedReceiver:
159 r=r+ "\t\t\t\t<intended-receiver>\n"
160 for aid in self.intendedReceiver:
161 r=r+"\t\t\t\t\t<agent-identifier> \n"
162 r=r+"\t\t\t\t\t\t<name>" + aid.getName() + "</name> \n"
163 r=r+"\t\t\t\t\t\t<addresses>\n"
164 for addr in aid.getAddresses():
165 r=r+ "\t\t\t\t\t\t\t<url>" + addr + "</url>\n"
166 r=r+"\t\t\t\t\t\t</addresses> \n"
167 r=r+"\t\t\t\t\t</agent-identifier>\n"
168 r=r+"\t\t\t\t</intended-receiver> \n"
169 if self.received:
170 r=r+ "\t\t\t\t<received>\n"
171 if self.received.getBy():
172 r=r+ '\t\t\t\t\t<received-by value="'+self.received.getBy() +'"/>\n'
173 if self.received.getDate():
174 r=r+ '\t\t\t\t\t<received-date value="'+ str(self.received.getDate()) +'"/>\n'
175 if self.received.getId():
176 r=r+ '\t\t\t\t\t<received-id value="' + self.received.getId() +'"/>\n'
177 r=r+ "\t\t\t\t</received>\n"
178
179 r=r+"\t\t\t</params> \n"
180 r=r+"\t\t</envelope>\n"
181
182 return r
183