2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / class / System.Messaging / System.Messaging / MessagePropertyFilter.cs
blobeb3bb6232d5bd9cf8ba7f5370a0652adece8660e
1 //
2 // System.Messaging
3 //
4 // Authors:
5 // Peter Van Isacker (sclytrack@planetinternet.be)
6 //
7 // (C) 2003 Peter Van Isacker
8 //
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 //
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 //
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 using System;
32 using System.ComponentModel;
34 namespace System.Messaging
36 [TypeConverter (typeof(ExpandableObjectConverter))]
37 public class MessagePropertyFilter
39 private bool acknowledgeType = false;
40 private bool acknowledgment = false;
41 private bool administrationQueue = false;
42 private bool appSpecific = false;
43 private bool arrivedTime = false;
44 private bool attachSenderId = false;
45 private bool authenticated = false;
46 private bool authenticationProviderName = false;
47 private bool authenticationProviderType = false;
48 private bool body = false;
49 private bool connectorType = false;
50 private bool correlationId = false;
51 private int defaultBodySize = 1024;
52 private int defaultExtensionSize = 255;
53 private int defaultLabelSize = 255;
54 private bool destinationQueue = false;
55 private bool destinationSymmetricKey = false;
56 private bool digitalSignature = false;
57 private bool encryptionAlgorithm = false;
58 private bool extension = false;
59 private bool hashAlgorithm = false;
60 private bool id = false;
61 private bool isFirstInTransaction = false;
62 private bool isLastInTransaction = false;
63 private bool label = false;
64 private bool messageType = false;
65 private bool priority = false;
66 private bool recoverable = false;
67 private bool responseQueue = false;
68 private bool senderCertificate = false;
69 private bool senderId = false;
70 private bool senderVersion = false;
71 private bool sentTime = false;
72 private bool sourceMachine = false;
73 private bool timeToBeReceived = false;
74 private bool timeToReachQueue = false;
75 private bool transactionId = false;
76 private bool transactionStatusQueue = false;
77 private bool useAuthentication = false;
78 private bool useDeadLetterQueue = false;
79 private bool useEncryption = false;
80 private bool useJournalQueue = false;
81 private bool useTracing = false;
83 [MonoTODO]
84 public MessagePropertyFilter ()
89 [DefaultValue (true)]
90 [MessagingDescription ("MsgAcknowledgeType")]
91 public bool AcknowledgeType
93 get { return acknowledgeType; }
94 set { acknowledgeType = value; }
97 [DefaultValue (true)]
98 [MessagingDescription ("MsgAcknowledgement")]
99 public bool Acknowledgment
101 get { return acknowledgment; }
102 set { acknowledgment = value; }
105 [DefaultValue (true)]
106 [MessagingDescription ("MsgAdministrationQueue")]
107 public bool AdministrationQueue
109 get { return administrationQueue; }
110 set { administrationQueue = value; }
113 [DefaultValue (false)]
114 [MessagingDescription ("MsgAppSpecific")]
115 public bool AppSpecific
117 get { return appSpecific; }
118 set { appSpecific = value; }
121 [DefaultValue (false)]
122 [MessagingDescription ("MsgArrivedTime")]
123 public bool ArrivedTime
125 get { return arrivedTime; }
126 set { arrivedTime = value; }
129 [DefaultValue (false)]
130 [MessagingDescription ("MsgAttachSenderId")]
131 public bool AttachSenderId
133 get { return attachSenderId; }
134 set { attachSenderId = value; }
137 [DefaultValue (false)]
138 [MessagingDescription ("MsgAuthenticated")]
139 public bool Authenticated
141 get { return authenticated; }
142 set { authenticated = value; }
145 [DefaultValue (false)]
146 [MessagingDescription ("MsgAuthenticationProviderName")]
147 public bool AuthenticationProviderName
149 get { return authenticationProviderName; }
150 set { authenticationProviderName = value; }
153 [DefaultValue (false)]
154 [MessagingDescription ("MsgAuthenticationProviderType")]
155 public bool AuthenticationProviderType
157 get { return authenticationProviderType; }
158 set { authenticationProviderType = value; }
161 [DefaultValue (true)]
162 [MessagingDescription ("MsgBody")]
163 public bool Body
165 get { return body; }
166 set { body = value; }
169 [DefaultValue (false)]
170 [MessagingDescription ("MsgConnectorType")]
171 public bool ConnectorType
173 get { return connectorType; }
174 set { connectorType = value; }
177 [DefaultValue (false)]
178 [MessagingDescription ("MsgCorrelationId")]
179 public bool CorrelationId
181 get { return correlationId; }
182 set { correlationId = value; }
185 [DefaultValue (1024)]
186 [MessagingDescription ("MsgDefaultBodySize")]
187 public int DefaultBodySize
189 get { return defaultBodySize; }
192 if (value < 0)
193 throw new ArgumentException ("DefaultBodySize");
194 defaultBodySize = value;
198 [DefaultValue (255)]
199 [MessagingDescription ("MsgDefaultExtensionSize")]
200 public int DefaultExtensionSize
202 get { return defaultExtensionSize; }
205 if (value < 0)
206 throw new ArgumentException ("DefaultExtensionSize");
207 defaultExtensionSize = value;
211 [DefaultValue (255)]
212 [MessagingDescription ("MsgDefaultLabelSize")]
213 public int DefaultLabelSize
215 get { return defaultLabelSize; }
218 if (value < 0) throw new ArgumentException ("DefaultLabelSize");
219 defaultLabelSize = value;
223 [DefaultValue (false)]
224 [MessagingDescription ("MsgDestinationQueue")]
225 public bool DestinationQueue
227 get { return destinationQueue; }
228 set { destinationQueue = value; }
231 [DefaultValue (false)]
232 [MessagingDescription ("MsgDestinationSymmetricKey")]
233 public bool DestinationSymmetricKey
235 get { return destinationSymmetricKey; }
236 set { destinationSymmetricKey = value; }
239 [DefaultValue (false)]
240 [MessagingDescription ("MsgDigitalSignature")]
241 public bool DigitalSignature
243 get { return digitalSignature; }
244 set { digitalSignature = value; }
247 [DefaultValue (false)]
248 [MessagingDescription ("MsgEncryptionAlgorithm")]
249 public bool EncryptionAlgorithm
251 get { return encryptionAlgorithm; }
252 set { encryptionAlgorithm = value; }
255 [DefaultValue (false)]
256 [MessagingDescription ("MsgExtension")]
257 public bool Extension
259 get { return extension; }
260 set { extension = value; }
263 [DefaultValue (false)]
264 [MessagingDescription ("MsgHashAlgorithm")]
265 public bool HashAlgorithm
267 get { return hashAlgorithm; }
268 set { hashAlgorithm = value; }
271 [DefaultValue (false)]
272 [MessagingDescription ("MsgId")]
273 public bool Id
275 get { return id; }
276 set { id = value; }
279 [DefaultValue (false)]
280 [MessagingDescription ("MsgIsFirstInTransaction")]
281 public bool IsFirstInTransaction
283 get { return isFirstInTransaction; }
284 set { isFirstInTransaction = value; }
287 [DefaultValue (false)]
288 [MessagingDescription ("MsgIsLastInTransaction")]
289 public bool IsLastInTransaction
291 get { return isLastInTransaction; }
292 set { isLastInTransaction = value; }
295 [DefaultValue (true)]
296 [MessagingDescription ("MsgLabel")]
297 public bool Label
299 get { return label; }
300 set { label = value; }
303 [DefaultValue (true)]
304 [MessagingDescription ("MsgMessageType")]
305 public bool MessageType
307 get { return messageType; }
308 set { messageType = value; }
311 [DefaultValue (false)]
312 [MessagingDescription ("MsgPriority")]
313 public bool Priority
315 get { return priority; }
316 set { priority = value; }
319 [DefaultValue (false)]
320 [MessagingDescription ("MsgRecoverable")]
321 public bool Recoverable
323 get { return recoverable; }
324 set { recoverable = value; }
327 [DefaultValue (true)]
328 [MessagingDescription ("MsgResponseQueue")]
329 public bool ResponseQueue
331 get { return responseQueue; }
332 set { responseQueue = value; }
335 [DefaultValue (false)]
336 [MessagingDescription ("MsgSenderCertificate")]
337 public bool SenderCertificate
339 get { return senderCertificate; }
340 set { senderCertificate = value; }
343 [DefaultValue (false)]
344 [MessagingDescription ("MsgSenderId")]
345 public bool SenderId
347 get { return senderId; }
348 set { senderId = value; }
351 [DefaultValue (false)]
352 [MessagingDescription ("MsgSenderVersion")]
353 public bool SenderVersion
355 get { return senderVersion; }
356 set { senderVersion = value; }
359 [DefaultValue (false)]
360 [MessagingDescription ("MsgSentTime")]
361 public bool SentTime
363 get { return sentTime; }
364 set { sentTime = value; }
367 [DefaultValue (false)]
368 [MessagingDescription ("MsgSourceMachine")]
369 public bool SourceMachine
371 get { return sourceMachine; }
372 set { sourceMachine = value; }
375 [DefaultValue (false)]
376 [MessagingDescription ("MsgTimeToBeReceived")]
377 public bool TimeToBeReceived
379 get { return timeToBeReceived; }
380 set { timeToBeReceived = value; }
383 [DefaultValue (false)]
384 [MessagingDescription ("MsgTimeToReachQueue")]
385 public bool TimeToReachQueue
387 get { return timeToReachQueue; }
388 set { timeToReachQueue = value; }
391 [DefaultValue (false)]
392 [MessagingDescription ("MsgTransactionId")]
393 public bool TransactionId
395 get { return transactionId; }
396 set { transactionId = value; }
399 [DefaultValue (false)]
400 [MessagingDescription ("MsgTransactionStatusQueue")]
401 public bool TransactionStatusQueue
403 get { return transactionStatusQueue; }
404 set { transactionStatusQueue = value; }
407 [DefaultValue (false)]
408 [MessagingDescription ("MsgUseAuthentication")]
409 public bool UseAuthentication
411 get { return useAuthentication; }
412 set { useAuthentication = value; }
415 [DefaultValue (true)]
416 [MessagingDescription ("MsgUseDeadLetterQueue")]
417 public bool UseDeadLetterQueue
419 get { return useDeadLetterQueue; }
420 set { useDeadLetterQueue = value; }
423 [DefaultValue (false)]
424 [MessagingDescription ("MsgUseEncryption")]
425 public bool UseEncryption
427 get { return useEncryption; }
428 set { useEncryption = value; }
431 [DefaultValue (true)]
432 [MessagingDescription ("MsgUseJournalQueue")]
433 public bool UseJournalQueue
435 get { return useJournalQueue; }
436 set { useJournalQueue = value; }
439 [DefaultValue (false)]
440 [MessagingDescription ("MsgUseTracing")]
441 public bool UseTracing
443 get { return useTracing; }
444 set { useTracing = value; }
447 public void ClearAll ()
449 acknowledgeType = false;
450 acknowledgment = false;
451 administrationQueue = false;
452 appSpecific = false;
453 arrivedTime = false;
454 attachSenderId = false;
455 authenticated = false;
456 authenticationProviderName = false;
457 authenticationProviderType = false;
458 body = false;
459 connectorType = false;
460 correlationId = false;
461 destinationQueue = false;
462 destinationSymmetricKey = false;
463 digitalSignature = false;
464 encryptionAlgorithm = false;
465 extension = false;
466 hashAlgorithm = false;
467 id = false;
468 isFirstInTransaction = false;
469 isLastInTransaction = false;
470 label = false;
471 messageType = false;
472 priority = false;
473 recoverable = false;
474 responseQueue = false;
475 senderCertificate = false;
476 senderId = false;
477 senderVersion = false;
478 sentTime = false;
479 sourceMachine = false;
480 timeToBeReceived = false;
481 timeToReachQueue = false;
482 transactionId = false;
483 transactionStatusQueue = false;
484 useAuthentication = false;
485 useDeadLetterQueue = false;
486 useEncryption = false;
487 useJournalQueue = false;
488 useTracing = false;
491 public void SetAll ()
493 acknowledgeType = true;
494 acknowledgment = true;
495 administrationQueue = true;
496 appSpecific = true;
497 arrivedTime = true;
498 attachSenderId = true;
499 authenticated = true;
500 authenticationProviderName = true;
501 authenticationProviderType = true;
502 body = true;
503 connectorType = true;
504 correlationId = true;
505 destinationQueue = true;
506 destinationSymmetricKey = true;
507 digitalSignature = true;
508 encryptionAlgorithm = true;
509 extension = true;
510 hashAlgorithm = true;
511 id = true;
512 isFirstInTransaction = true;
513 isLastInTransaction = true;
514 label = true;
515 messageType = true;
516 priority = true;
517 recoverable = true;
518 responseQueue = true;
519 senderCertificate = true;
520 senderId = true;
521 senderVersion = true;
522 sentTime = true;
523 sourceMachine = true;
524 timeToBeReceived = true;
525 timeToReachQueue = true;
526 transactionId = true;
527 transactionStatusQueue = true;
528 useAuthentication = true;
529 useDeadLetterQueue = true;
530 useEncryption = true;
531 useJournalQueue = true;
532 useTracing = true;
535 [MonoTODO]
536 public void SetDefaults ()
538 acknowledgeType = false;
539 acknowledgment = false;
540 administrationQueue = true; //
541 appSpecific = false;
542 arrivedTime = true; //
543 attachSenderId = false;
544 authenticated = false;
545 authenticationProviderName = false;
546 authenticationProviderType = false;
547 body = true; //
548 connectorType = false;
549 correlationId = true; //
550 defaultBodySize = 1024;
551 defaultExtensionSize = 255;
552 defaultLabelSize = 255;
553 destinationQueue = false;
554 destinationSymmetricKey = false;
555 digitalSignature = false;
556 encryptionAlgorithm = false;
557 extension = false;
558 hashAlgorithm = false;
559 id = true; //
560 isFirstInTransaction = false;
561 isLastInTransaction = false;
562 label = true; //
563 messageType = false;
564 priority = false;
565 recoverable = false;
566 responseQueue = true; //
567 senderCertificate = false;
568 senderId = false;
569 senderVersion = false;
570 sentTime = true; //
571 sourceMachine = false;
572 timeToBeReceived = false;
573 timeToReachQueue = false;
574 transactionId = false;
575 transactionStatusQueue = false;
576 useAuthentication = false;
577 useDeadLetterQueue = false;
578 useEncryption = false;
579 useJournalQueue = false;
580 useTracing = false;