Commits

Tuukka Norri committed 1ce7533

Moved the new files to the right place.

  • Participants
  • Parent commits 68e2173
  • Branches PGTS

Comments (0)

Files changed (13)

Framework/Framework.xcodeproj/project.pbxproj

 		5304E3FC09575374004D0C0F /* TSDataTypes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = TSDataTypes.xcodeproj; path = ../Dependencies/TSDataTypes/TSDataTypes.xcodeproj; sourceTree = SOURCE_ROOT; };
 		531740DA0958AB340098D3D5 /* JaguarCompatibility.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = JaguarCompatibility.xcodeproj; path = ../JaguarCompatibility/JaguarCompatibility.xcodeproj; sourceTree = SOURCE_ROOT; };
 		5325EAD70A1B2EF600FEA842 /* postgresql */ = {isa = PBXFileReference; lastKnownFileType = folder; name = postgresql; path = "PGTS-PostgreSQL/postgresql"; sourceTree = BUILT_PRODUCTS_DIR; };
-		53298DDE0B3307A800DE7CC8 /* PGTSRoleDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PGTSRoleDescription.h; sourceTree = "<group>"; };
-		53298DDF0B3307A800DE7CC8 /* PGTSRoleDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGTSRoleDescription.m; sourceTree = "<group>"; };
-		53298DF00B330B6F00DE7CC8 /* PGTSAbstractObjectDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PGTSAbstractObjectDescription.h; sourceTree = "<group>"; };
-		53298DF10B330B6F00DE7CC8 /* PGTSAbstractObjectDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGTSAbstractObjectDescription.m; sourceTree = "<group>"; };
-		53298E0D0B330EFB00DE7CC8 /* PGTSACLItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PGTSACLItem.h; sourceTree = "<group>"; };
-		53298E0E0B330EFB00DE7CC8 /* PGTSACLItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PGTSACLItem.m; sourceTree = "<group>"; };
+		53298DDE0B3307A800DE7CC8 /* PGTSRoleDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PGTSRoleDescription.h; path = Sources/PGTSRoleDescription.h; sourceTree = "<group>"; };
+		53298DDF0B3307A800DE7CC8 /* PGTSRoleDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PGTSRoleDescription.m; path = Sources/PGTSRoleDescription.m; sourceTree = "<group>"; };
+		53298DF00B330B6F00DE7CC8 /* PGTSAbstractObjectDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PGTSAbstractObjectDescription.h; path = Sources/PGTSAbstractObjectDescription.h; sourceTree = "<group>"; };
+		53298DF10B330B6F00DE7CC8 /* PGTSAbstractObjectDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PGTSAbstractObjectDescription.m; path = Sources/PGTSAbstractObjectDescription.m; sourceTree = "<group>"; };
+		53298E0D0B330EFB00DE7CC8 /* PGTSACLItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PGTSACLItem.h; path = Sources/PGTSACLItem.h; sourceTree = "<group>"; };
+		53298E0E0B330EFB00DE7CC8 /* PGTSACLItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PGTSACLItem.m; path = Sources/PGTSACLItem.m; sourceTree = "<group>"; };
 		532C9B4909DDAEDD00E42701 /* PGTSModificationNotifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PGTSModificationNotifier.h; path = Sources/PGTSModificationNotifier.h; sourceTree = "<group>"; };
 		532C9B4A09DDAEDD00E42701 /* PGTSModificationNotifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PGTSModificationNotifier.m; path = Sources/PGTSModificationNotifier.m; sourceTree = "<group>"; };
 		53353A400896D05A003EE146 /* PGTSDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PGTSDataSource.h; path = Sources/PGTSDataSource.h; sourceTree = "<group>"; };

Framework/PGTSACLItem.h

-//
-// PGTSACLItem.h
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-@class PGTSRoleDescription;
-
-#import <Foundation/Foundation.h>
-#import <PGTS/PGTSConstants.h>
-
-@interface PGTSACLItem : NSObject 
-{
-    PGTSRoleDescription* role;
-    enum PGTSACLItemPrivilege privileges;
-}
-
-- (enum PGTSACLItemPrivilege) privileges;
-- (PGTSRoleDescription *) role;
-- (void) setRole: (PGTSRoleDescription *) aRole;
-
-@end

Framework/PGTSACLItem.m

-//
-// PGTSACLItem.m
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-#import "PGTSACLItem.h"
-
-
-@implementation PGTSACLItem
-
-- (id) init
-{
-    if ((self = [super init]))
-    {
-        privileges = kPGTSPrivilegeNone;
-    }
-    return self;
-}
-
-- (void) dealloc
-{
-    [role release];
-    [super dealloc];
-}
-
-- (PGTSRoleDescription *) role
-{
-    return role; 
-}
-
-- (void) setRole: (PGTSRoleDescription *) aRole
-{
-    if (role != aRole) {
-        [role release];
-        role = [aRole retain];
-    }
-}
-
-@end

Framework/PGTSAbstractObjectDescription.h

-//
-// PGTSAbstractObjectDescription.h
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-#import <Foundation/Foundation.h>
-#import <PGTS/PGTSAbstractInfo.h>
-
-
-@interface PGTSAbstractObjectDescription : PGTSAbstractInfo 
-{
-    Oid oid;
-}
-
-- (Oid)  oid;
-- (void) setOid: (Oid) anOid;
-
-@end

Framework/PGTSAbstractObjectDescription.m

-//
-// PGTSAbstractObjectDescription.m
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-#import "PGTSAbstractObjectDescription.h"
-
-
-@implementation PGTSAbstractObjectDescription
-
-- (id) init
-{
-    if ((self = [super init]))
-    {
-        oid = InvalidOid;
-    }
-    return self;
-}
-
-- (Oid) oid
-{
-    return oid;
-}
-
-- (void) setOid: (Oid) anOid
-{
-    oid = anOid;
-}
-
-@end

Framework/PGTSRoleDescription.h

-//
-// PGTSRoleDescription.h
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-#import <Foundation/Foundation.h>
-#import <PGTS/PGTSAbstractInfo.h>
-
-
-@interface PGTSRoleDescription : PGTSAbstractObjectDescription
-{
-    TSIndexDictionary* roles;
-}
-
-- (void) addRole: (PGTSRoleDescription *) aRole;
-- (BOOL) hasMember: (PGTSRoleDescription *) aRole;
-
-@end

Framework/PGTSRoleDescription.m

-//
-// PGTSRoleDescription.m
-// BaseTen
-//
-// Copyright (C) 2006 Marko Karppinen & Co. LLC.
-//
-// Before using this software, please review the available licensing options
-// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
-// us at sales@karppinen.fi. Without an additional license, this software
-// may be distributed only in compliance with the GNU General Public License.
-//
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License, version 2.0,
-// as published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// $Id$
-//
-
-#import "PGTSRoleDescription.h"
-
-
-@implementation PGTSRoleDescription
-
-- (id) init
-{
-    if ((self = [super init]))
-    {
-        roles = [[TSIndexDictionary alloc] init];
-    }
-    return self;
-}
-
-- (void) dealloc
-{
-    [roles release];
-    [super dealloc];
-}
-
-- (void) addRole: (PGTSRoleDescription *) aRole
-{
-    [roles setObject: aRole atIndex: [aRole oid]];
-}
-
-- (BOOL) hasMember: (PGTSRoleDescription *) aRole
-{
-    BOOL rval = NO;
-    if (NSNotFound != [roles objectAtIndex: [aRole oid]])
-        rval = YES;
-    else
-    {
-        TSEnumerate (currentRole, e, [roles objectEnumerator])
-        {
-            rval = [currentRole hasMember: aRole];
-            if (YES == rval)
-                break;
-        }
-    }
-    return rval;
-}
-
-@end

Framework/Sources/PGTSACLItem.h

+//
+// PGTSACLItem.h
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+@class PGTSRoleDescription;
+
+#import <Foundation/Foundation.h>
+#import <PGTS/PGTSConstants.h>
+
+@interface PGTSACLItem : NSObject 
+{
+    PGTSRoleDescription* role;
+    enum PGTSACLItemPrivilege privileges;
+}
+
+- (enum PGTSACLItemPrivilege) privileges;
+- (PGTSRoleDescription *) role;
+- (void) setRole: (PGTSRoleDescription *) aRole;
+
+@end

Framework/Sources/PGTSACLItem.m

+//
+// PGTSACLItem.m
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+#import "PGTSACLItem.h"
+
+
+@implementation PGTSACLItem
+
+- (id) init
+{
+    if ((self = [super init]))
+    {
+        privileges = kPGTSPrivilegeNone;
+    }
+    return self;
+}
+
+- (void) dealloc
+{
+    [role release];
+    [super dealloc];
+}
+
+- (PGTSRoleDescription *) role
+{
+    return role; 
+}
+
+- (void) setRole: (PGTSRoleDescription *) aRole
+{
+    if (role != aRole) {
+        [role release];
+        role = [aRole retain];
+    }
+}
+
+@end

Framework/Sources/PGTSAbstractObjectDescription.h

+//
+// PGTSAbstractObjectDescription.h
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+#import <Foundation/Foundation.h>
+#import <PGTS/PGTSAbstractInfo.h>
+
+
+@interface PGTSAbstractObjectDescription : PGTSAbstractInfo 
+{
+    Oid oid;
+}
+
+- (Oid)  oid;
+- (void) setOid: (Oid) anOid;
+
+@end

Framework/Sources/PGTSAbstractObjectDescription.m

+//
+// PGTSAbstractObjectDescription.m
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+#import "PGTSAbstractObjectDescription.h"
+
+
+@implementation PGTSAbstractObjectDescription
+
+- (id) init
+{
+    if ((self = [super init]))
+    {
+        oid = InvalidOid;
+    }
+    return self;
+}
+
+- (Oid) oid
+{
+    return oid;
+}
+
+- (void) setOid: (Oid) anOid
+{
+    oid = anOid;
+}
+
+@end

Framework/Sources/PGTSRoleDescription.h

+//
+// PGTSRoleDescription.h
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+#import <Foundation/Foundation.h>
+#import <PGTS/PGTSAbstractInfo.h>
+
+
+@interface PGTSRoleDescription : PGTSAbstractObjectDescription
+{
+    TSIndexDictionary* roles;
+}
+
+- (void) addRole: (PGTSRoleDescription *) aRole;
+- (BOOL) hasMember: (PGTSRoleDescription *) aRole;
+
+@end

Framework/Sources/PGTSRoleDescription.m

+//
+// PGTSRoleDescription.m
+// BaseTen
+//
+// Copyright (C) 2006 Marko Karppinen & Co. LLC.
+//
+// Before using this software, please review the available licensing options
+// by visiting http://www.karppinen.fi/baseten/licensing/ or by contacting
+// us at sales@karppinen.fi. Without an additional license, this software
+// may be distributed only in compliance with the GNU General Public License.
+//
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License, version 2.0,
+// as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+// $Id$
+//
+
+#import "PGTSRoleDescription.h"
+
+
+@implementation PGTSRoleDescription
+
+- (id) init
+{
+    if ((self = [super init]))
+    {
+        roles = [[TSIndexDictionary alloc] init];
+    }
+    return self;
+}
+
+- (void) dealloc
+{
+    [roles release];
+    [super dealloc];
+}
+
+- (void) addRole: (PGTSRoleDescription *) aRole
+{
+    [roles setObject: aRole atIndex: [aRole oid]];
+}
+
+- (BOOL) hasMember: (PGTSRoleDescription *) aRole
+{
+    BOOL rval = NO;
+    if (NSNotFound != [roles objectAtIndex: [aRole oid]])
+        rval = YES;
+    else
+    {
+        TSEnumerate (currentRole, e, [roles objectEnumerator])
+        {
+            rval = [currentRole hasMember: aRole];
+            if (YES == rval)
+                break;
+        }
+    }
+    return rval;
+}
+
+@end