5 // Peter Van Isacker (sclytrack@planetinternet.be)
\r
7 // (C) 2003 Peter Van Isacker
\r
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:
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
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.
32 using System.ComponentModel;
\r
34 namespace System.Messaging
\r
36 [TypeConverter (typeof(ExpandableObjectConverter))]
\r
37 public class MessagePropertyFilter
\r
39 private bool acknowledgeType = false;
\r
40 private bool acknowledgment = false;
\r
41 private bool administrationQueue = false;
\r
42 private bool appSpecific = false;
\r
43 private bool arrivedTime = false;
\r
44 private bool attachSenderId = false;
\r
45 private bool authenticated = false;
\r
46 private bool authenticationProviderName = false;
\r
47 private bool authenticationProviderType = false;
\r
48 private bool body = false;
\r
49 private bool connectorType = false;
\r
50 private bool correlationId = false;
\r
51 private int defaultBodySize = 1024;
\r
52 private int defaultExtensionSize = 255;
\r
53 private int defaultLabelSize = 255;
\r
54 private bool destinationQueue = false;
\r
55 private bool destinationSymmetricKey = false;
\r
56 private bool digitalSignature = false;
\r
57 private bool encryptionAlgorithm = false;
\r
58 private bool extension = false;
\r
59 private bool hashAlgorithm = false;
\r
60 private bool id = false;
\r
61 private bool isFirstInTransaction = false;
\r
62 private bool isLastInTransaction = false;
\r
63 private bool label = false;
\r
64 private bool messageType = false;
\r
65 private bool priority = false;
\r
66 private bool recoverable = false;
\r
67 private bool responseQueue = false;
\r
68 private bool senderCertificate = false;
\r
69 private bool senderId = false;
\r
70 private bool senderVersion = false;
\r
71 private bool sentTime = false;
\r
72 private bool sourceMachine = false;
\r
73 private bool timeToBeReceived = false;
\r
74 private bool timeToReachQueue = false;
\r
75 private bool transactionId = false;
\r
76 private bool transactionStatusQueue = false;
\r
77 private bool useAuthentication = false;
\r
78 private bool useDeadLetterQueue = false;
\r
79 private bool useEncryption = false;
\r
80 private bool useJournalQueue = false;
\r
81 private bool useTracing = false;
\r
84 public MessagePropertyFilter ()
\r
89 [DefaultValue (true)]
\r
90 [MessagingDescription ("MsgAcknowledgeType")]
\r
91 public bool AcknowledgeType
\r
93 get { return acknowledgeType; }
\r
94 set { acknowledgeType = value; }
\r
97 [DefaultValue (true)]
\r
98 [MessagingDescription ("MsgAcknowledgement")]
\r
99 public bool Acknowledgment
\r
101 get { return acknowledgment; }
\r
102 set { acknowledgment = value; }
\r
105 [DefaultValue (true)]
\r
106 [MessagingDescription ("MsgAdministrationQueue")]
\r
107 public bool AdministrationQueue
\r
109 get { return administrationQueue; }
\r
110 set { administrationQueue = value; }
\r
113 [DefaultValue (false)]
\r
114 [MessagingDescription ("MsgAppSpecific")]
\r
115 public bool AppSpecific
\r
117 get { return appSpecific; }
\r
118 set { appSpecific = value; }
\r
121 [DefaultValue (false)]
\r
122 [MessagingDescription ("MsgArrivedTime")]
\r
123 public bool ArrivedTime
\r
125 get { return arrivedTime; }
\r
126 set { arrivedTime = value; }
\r
129 [DefaultValue (false)]
\r
130 [MessagingDescription ("MsgAttachSenderId")]
\r
131 public bool AttachSenderId
\r
133 get { return attachSenderId; }
\r
134 set { attachSenderId = value; }
\r
137 [DefaultValue (false)]
\r
138 [MessagingDescription ("MsgAuthenticated")]
\r
139 public bool Authenticated
\r
141 get { return authenticated; }
\r
142 set { authenticated = value; }
\r
145 [DefaultValue (false)]
\r
146 [MessagingDescription ("MsgAuthenticationProviderName")]
\r
147 public bool AuthenticationProviderName
\r
149 get { return authenticationProviderName; }
\r
150 set { authenticationProviderName = value; }
\r
153 [DefaultValue (false)]
\r
154 [MessagingDescription ("MsgAuthenticationProviderType")]
\r
155 public bool AuthenticationProviderType
\r
157 get { return authenticationProviderType; }
\r
158 set { authenticationProviderType = value; }
\r
161 [DefaultValue (true)]
\r
162 [MessagingDescription ("MsgBody")]
\r
165 get { return body; }
\r
166 set { body = value; }
\r
169 [DefaultValue (false)]
\r
170 [MessagingDescription ("MsgConnectorType")]
\r
171 public bool ConnectorType
\r
173 get { return connectorType; }
\r
174 set { connectorType = value; }
\r
177 [DefaultValue (false)]
\r
178 [MessagingDescription ("MsgCorrelationId")]
\r
179 public bool CorrelationId
\r
181 get { return correlationId; }
\r
182 set { correlationId = value; }
\r
185 [DefaultValue (1024)]
\r
186 [MessagingDescription ("MsgDefaultBodySize")]
\r
187 public int DefaultBodySize
\r
189 get { return defaultBodySize; }
\r
193 throw new ArgumentException ("DefaultBodySize");
\r
194 defaultBodySize = value;
\r
198 [DefaultValue (255)]
\r
199 [MessagingDescription ("MsgDefaultExtensionSize")]
\r
200 public int DefaultExtensionSize
\r
202 get { return defaultExtensionSize; }
\r
206 throw new ArgumentException ("DefaultExtensionSize");
\r
207 defaultExtensionSize = value;
\r
211 [DefaultValue (255)]
\r
212 [MessagingDescription ("MsgDefaultLabelSize")]
\r
213 public int DefaultLabelSize
\r
215 get { return defaultLabelSize; }
\r
218 if (value < 0) throw new ArgumentException ("DefaultLabelSize");
\r
219 defaultLabelSize = value;
\r
223 [DefaultValue (false)]
\r
224 [MessagingDescription ("MsgDestinationQueue")]
\r
225 public bool DestinationQueue
\r
227 get { return destinationQueue; }
\r
228 set { destinationQueue = value; }
\r
231 [DefaultValue (false)]
\r
232 [MessagingDescription ("MsgDestinationSymmetricKey")]
\r
233 public bool DestinationSymmetricKey
\r
235 get { return destinationSymmetricKey; }
\r
236 set { destinationSymmetricKey = value; }
\r
239 [DefaultValue (false)]
\r
240 [MessagingDescription ("MsgDigitalSignature")]
\r
241 public bool DigitalSignature
\r
243 get { return digitalSignature; }
\r
244 set { digitalSignature = value; }
\r
247 [DefaultValue (false)]
\r
248 [MessagingDescription ("MsgEncryptionAlgorithm")]
\r
249 public bool EncryptionAlgorithm
\r
251 get { return encryptionAlgorithm; }
\r
252 set { encryptionAlgorithm = value; }
\r
255 [DefaultValue (false)]
\r
256 [MessagingDescription ("MsgExtension")]
\r
257 public bool Extension
\r
259 get { return extension; }
\r
260 set { extension = value; }
\r
263 [DefaultValue (false)]
\r
264 [MessagingDescription ("MsgHashAlgorithm")]
\r
265 public bool HashAlgorithm
\r
267 get { return hashAlgorithm; }
\r
268 set { hashAlgorithm = value; }
\r
271 [DefaultValue (false)]
\r
272 [MessagingDescription ("MsgId")]
\r
276 set { id = value; }
\r
279 [DefaultValue (false)]
\r
280 [MessagingDescription ("MsgIsFirstInTransaction")]
\r
281 public bool IsFirstInTransaction
\r
283 get { return isFirstInTransaction; }
\r
284 set { isFirstInTransaction = value; }
\r
287 [DefaultValue (false)]
\r
288 [MessagingDescription ("MsgIsLastInTransaction")]
\r
289 public bool IsLastInTransaction
\r
291 get { return isLastInTransaction; }
\r
292 set { isLastInTransaction = value; }
\r
295 [DefaultValue (true)]
\r
296 [MessagingDescription ("MsgLabel")]
\r
299 get { return label; }
\r
300 set { label = value; }
\r
303 [DefaultValue (true)]
\r
304 [MessagingDescription ("MsgMessageType")]
\r
305 public bool MessageType
\r
307 get { return messageType; }
\r
308 set { messageType = value; }
\r
311 [DefaultValue (false)]
\r
312 [MessagingDescription ("MsgPriority")]
\r
313 public bool Priority
\r
315 get { return priority; }
\r
316 set { priority = value; }
\r
319 [DefaultValue (false)]
\r
320 [MessagingDescription ("MsgRecoverable")]
\r
321 public bool Recoverable
\r
323 get { return recoverable; }
\r
324 set { recoverable = value; }
\r
327 [DefaultValue (true)]
\r
328 [MessagingDescription ("MsgResponseQueue")]
\r
329 public bool ResponseQueue
\r
331 get { return responseQueue; }
\r
332 set { responseQueue = value; }
\r
335 [DefaultValue (false)]
\r
336 [MessagingDescription ("MsgSenderCertificate")]
\r
337 public bool SenderCertificate
\r
339 get { return senderCertificate; }
\r
340 set { senderCertificate = value; }
\r
343 [DefaultValue (false)]
\r
344 [MessagingDescription ("MsgSenderId")]
\r
345 public bool SenderId
\r
347 get { return senderId; }
\r
348 set { senderId = value; }
\r
351 [DefaultValue (false)]
\r
352 [MessagingDescription ("MsgSenderVersion")]
\r
353 public bool SenderVersion
\r
355 get { return senderVersion; }
\r
356 set { senderVersion = value; }
\r
359 [DefaultValue (false)]
\r
360 [MessagingDescription ("MsgSentTime")]
\r
361 public bool SentTime
\r
363 get { return sentTime; }
\r
364 set { sentTime = value; }
\r
367 [DefaultValue (false)]
\r
368 [MessagingDescription ("MsgSourceMachine")]
\r
369 public bool SourceMachine
\r
371 get { return sourceMachine; }
\r
372 set { sourceMachine = value; }
\r
375 [DefaultValue (false)]
\r
376 [MessagingDescription ("MsgTimeToBeReceived")]
\r
377 public bool TimeToBeReceived
\r
379 get { return timeToBeReceived; }
\r
380 set { timeToBeReceived = value; }
\r
383 [DefaultValue (false)]
\r
384 [MessagingDescription ("MsgTimeToReachQueue")]
\r
385 public bool TimeToReachQueue
\r
387 get { return timeToReachQueue; }
\r
388 set { timeToReachQueue = value; }
\r
391 [DefaultValue (false)]
\r
392 [MessagingDescription ("MsgTransactionId")]
\r
393 public bool TransactionId
\r
395 get { return transactionId; }
\r
396 set { transactionId = value; }
\r
399 [DefaultValue (false)]
\r
400 [MessagingDescription ("MsgTransactionStatusQueue")]
\r
401 public bool TransactionStatusQueue
\r
403 get { return transactionStatusQueue; }
\r
404 set { transactionStatusQueue = value; }
\r
407 [DefaultValue (false)]
\r
408 [MessagingDescription ("MsgUseAuthentication")]
\r
409 public bool UseAuthentication
\r
411 get { return useAuthentication; }
\r
412 set { useAuthentication = value; }
\r
415 [DefaultValue (true)]
\r
416 [MessagingDescription ("MsgUseDeadLetterQueue")]
\r
417 public bool UseDeadLetterQueue
\r
419 get { return useDeadLetterQueue; }
\r
420 set { useDeadLetterQueue = value; }
\r
423 [DefaultValue (false)]
\r
424 [MessagingDescription ("MsgUseEncryption")]
\r
425 public bool UseEncryption
\r
427 get { return useEncryption; }
\r
428 set { useEncryption = value; }
\r
431 [DefaultValue (true)]
\r
432 [MessagingDescription ("MsgUseJournalQueue")]
\r
433 public bool UseJournalQueue
\r
435 get { return useJournalQueue; }
\r
436 set { useJournalQueue = value; }
\r
439 [DefaultValue (false)]
\r
440 [MessagingDescription ("MsgUseTracing")]
\r
441 public bool UseTracing
\r
443 get { return useTracing; }
\r
444 set { useTracing = value; }
\r
447 public void ClearAll ()
\r
449 acknowledgeType = false;
\r
450 acknowledgment = false;
\r
451 administrationQueue = false;
\r
452 appSpecific = false;
\r
453 arrivedTime = false;
\r
454 attachSenderId = false;
\r
455 authenticated = false;
\r
456 authenticationProviderName = false;
\r
457 authenticationProviderType = false;
\r
459 connectorType = false;
\r
460 correlationId = false;
\r
461 destinationQueue = false;
\r
462 destinationSymmetricKey = false;
\r
463 digitalSignature = false;
\r
464 encryptionAlgorithm = false;
\r
466 hashAlgorithm = false;
\r
468 isFirstInTransaction = false;
\r
469 isLastInTransaction = false;
\r
471 messageType = false;
\r
473 recoverable = false;
\r
474 responseQueue = false;
\r
475 senderCertificate = false;
\r
477 senderVersion = false;
\r
479 sourceMachine = false;
\r
480 timeToBeReceived = false;
\r
481 timeToReachQueue = false;
\r
482 transactionId = false;
\r
483 transactionStatusQueue = false;
\r
484 useAuthentication = false;
\r
485 useDeadLetterQueue = false;
\r
486 useEncryption = false;
\r
487 useJournalQueue = false;
\r
488 useTracing = false;
\r
491 public void SetAll ()
\r
493 acknowledgeType = true;
\r
494 acknowledgment = true;
\r
495 administrationQueue = true;
\r
496 appSpecific = true;
\r
497 arrivedTime = true;
\r
498 attachSenderId = true;
\r
499 authenticated = true;
\r
500 authenticationProviderName = true;
\r
501 authenticationProviderType = true;
\r
503 connectorType = true;
\r
504 correlationId = true;
\r
505 destinationQueue = true;
\r
506 destinationSymmetricKey = true;
\r
507 digitalSignature = true;
\r
508 encryptionAlgorithm = true;
\r
510 hashAlgorithm = true;
\r
512 isFirstInTransaction = true;
\r
513 isLastInTransaction = true;
\r
515 messageType = true;
\r
517 recoverable = true;
\r
518 responseQueue = true;
\r
519 senderCertificate = true;
\r
521 senderVersion = true;
\r
523 sourceMachine = true;
\r
524 timeToBeReceived = true;
\r
525 timeToReachQueue = true;
\r
526 transactionId = true;
\r
527 transactionStatusQueue = true;
\r
528 useAuthentication = true;
\r
529 useDeadLetterQueue = true;
\r
530 useEncryption = true;
\r
531 useJournalQueue = true;
\r
536 public void SetDefaults ()
\r
538 acknowledgeType = false;
\r
539 acknowledgment = false;
\r
540 administrationQueue = true; //
\r
541 appSpecific = false;
\r
542 arrivedTime = true; //
\r
543 attachSenderId = false;
\r
544 authenticated = false;
\r
545 authenticationProviderName = false;
\r
546 authenticationProviderType = false;
\r
548 connectorType = false;
\r
549 correlationId = true; //
\r
550 defaultBodySize = 1024;
\r
551 defaultExtensionSize = 255;
\r
552 defaultLabelSize = 255;
\r
553 destinationQueue = false;
\r
554 destinationSymmetricKey = false;
\r
555 digitalSignature = false;
\r
556 encryptionAlgorithm = false;
\r
558 hashAlgorithm = false;
\r
560 isFirstInTransaction = false;
\r
561 isLastInTransaction = false;
\r
563 messageType = false;
\r
565 recoverable = false;
\r
566 responseQueue = true; //
\r
567 senderCertificate = false;
\r
569 senderVersion = false;
\r
570 sentTime = true; //
\r
571 sourceMachine = false;
\r
572 timeToBeReceived = false;
\r
573 timeToReachQueue = false;
\r
574 transactionId = false;
\r
575 transactionStatusQueue = false;
\r
576 useAuthentication = false;
\r
577 useDeadLetterQueue = false;
\r
578 useEncryption = false;
\r
579 useJournalQueue = false;
\r
580 useTracing = false;
\r