2002-08-08 Tim Coleman <tim@timcoleman.com>
[mono.git] / mcs / class / System.EnterpriseServices / System.EnterpriseServices / TransactionAttribute.cs
1 // \r
2 // System.EnterpriseServices.TransactionAttribute.cs\r
3 //\r
4 // Author:\r
5 //   Tim Coleman (tim@timcoleman.com)\r
6 //\r
7 // Copyright (C) Tim Coleman, 2002\r
8 //\r
9 \r
10 using System;\r
11 \r
12 namespace System.EnterpriseServices {\r
13         [AttributeUsage (AttributeTargets.Class)]\r
14         public sealed class TransactionAttribute : Attribute {\r
15 \r
16                 #region Fields\r
17 \r
18                 TransactionIsolationLevel isolation;\r
19                 int timeout;\r
20                 TransactionOption val;\r
21 \r
22                 #endregion // Fields\r
23 \r
24                 #region Constructors\r
25 \r
26                 public TransactionAttribute ()\r
27                         : this (TransactionOption.Required)\r
28                 {\r
29                 }\r
30 \r
31                 public TransactionAttribute (TransactionOption val)\r
32                 {\r
33                         this.isolation = TransactionIsolationLevel.Serializable;\r
34                         this.timeout = -1;\r
35                         this.val = val;\r
36                 }\r
37 \r
38                 #endregion // Constructors\r
39 \r
40                 #region Properties\r
41 \r
42                 public TransactionIsolationLevel Isolation {\r
43                         get { return isolation; }\r
44                         set { isolation = value; }\r
45                 }\r
46 \r
47                 public int Timeout {\r
48                         get { return timeout; }\r
49                         set { timeout = value; }\r
50                 }\r
51 \r
52                 public TransactionOption Value {\r
53                         get { return val; }\r
54                 }\r
55 \r
56                 #endregion // Properties\r
57         }\r
58 }\r