1 //
2 // System.EnterpriseServices.SharedPropertyGroup.cs
3 //
4 // Author:
5 //   Tim Coleman (tim@timcoleman.com)
6 //
7 // Copyright (C) Tim Coleman, 2002
8 //
9 
10 //
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.
29 //
30 
31 using System;
32 using System.Runtime.InteropServices;
33 
34 namespace System.EnterpriseServices {
35 	[ComVisible (false)]
36 	public sealed class SharedPropertyGroup {
37 
38 		#region Fields
39 
40 		ISharedPropertyGroup propertyGroup;
41 
42 		#endregion
43 
44 		#region Constructors
45 
SharedPropertyGroup(ISharedPropertyGroup propertyGroup)46 		internal SharedPropertyGroup (ISharedPropertyGroup propertyGroup)
47 		{
48 			this.propertyGroup = propertyGroup;
49 		}
50 
51 		#endregion // Constructors
52 
53 		#region Methods
54 
CreateProperty(string name, out bool fExists)55 		public SharedProperty CreateProperty (string name, out bool fExists)
56 		{
57 			return new SharedProperty (propertyGroup.CreateProperty (name, out fExists));
58 		}
59 
CreatePropertyByPosition(int position, out bool fExists)60 		public SharedProperty CreatePropertyByPosition (int position, out bool fExists)
61 		{
62 			return new SharedProperty (propertyGroup.CreatePropertyByPosition (position, out fExists));
63 		}
64 
Property(string name)65 		public SharedProperty Property (string name)
66 		{
67 			return new SharedProperty (propertyGroup.Property (name));
68 		}
69 
PropertyByPosition(int position)70 		public SharedProperty PropertyByPosition (int position)
71 		{
72 			return new SharedProperty (propertyGroup.PropertyByPosition (position));
73 		}
74 
75 		#endregion // Methods
76 	}
77 }
78