00001 /*
00002 * Copyright (C) 2004-2006 Autodesk, Inc.
00003 *
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 *
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011 * Lesser General Public License for more details.
00012 *
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00016 *
00017 * Revision Control Modification History
00018 *
00019 * $Id: //Providers/Utilities/UserMgr/inc/Utilities/UserMgr/FdoDbUserReader.h#1 $
00020 * $Author: ds $
00021 * $DateTime: 2005/12/05 11:20:19 $
00022 * $Change: 9547 $
00023 *
00024 */
00025
00026 #pragma once
00027
00028 class FdoDbUserReader;
00029
00030 BEGIN_NAMESPACE_AUTODESK_FDO_FDO_UTILITIES_USERMGR
00031
00032 public __gc class DbUserReader : public NAMESPACE_OSGEO_RUNTIME::Disposable
00033 {
00034 public:
00035 /// <summary>Advances the reader to the next item and returns true if there is
00036 /// another object to read or false if reading is complete. The default
00037 /// position of the reader is prior to the first item. Thus you must
00038 /// call ReadNext to begin accessing any data.</summary>
00039 /// <returns>Returns true if there is a next item.</returns>
00040 System::Boolean ReadNext();
00041
00042 /// <summary> Get the user name. </summary>
00043 /// <returns>Returns the name of the user.</returns>
00044 System::String* GetName();
00045
00046 /// <summary> Get the Windows domain name. Empty if not SQL Server Windows authenticated user. </summary>
00047 /// <returns>Returns the Windows domain name.</returns>
00048 System::String* GetDomain();
00049
00050 /// <summary> List of the roles or privileges assigned to the user.</summary>
00051 /// <returns>Returns the collection of roles or privileges.</returns>
00052 NAMESPACE_OSGEO_COMMON::StringCollection* GetRolesOrPrivileges(System::String* dataStore);
00053 NAMESPACE_OSGEO_COMMON::StringCollection* GetRolesOrPrivileges();
00054
00055 public private:
00056 DbUserReader(System::IntPtr unmanaged, System::Boolean autoDelete);
00057
00058 inline FdoDbUserReader* GetImpObj();
00059
00060 protected:
00061 System::Void ReleaseUnmanagedObject();
00062 };
00063
00064 END_NAMESPACE_AUTODESK_FDO_FDO_UTILITIES_USERMGR