FDO API Reference | Feature Data Objects |
00001 #ifndef _THREADCAPABILITY_H_ 00002 #define _THREADCAPABILITY_H_ 00003 // 00004 00005 // 00006 // Copyright (C) 2004-2006 Autodesk, Inc. 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of version 2.1 of the GNU Lesser 00010 // General Public License as published by the Free Software Foundation. 00011 // 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 // Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with this library; if not, write to the Free Software 00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 // 00021 00022 #ifdef _WIN32 00023 #pragma once 00024 #endif 00025 00026 /// \brief 00027 /// The FdoThreadCapability enumeration defines the threading capabilities of a feature provider. 00028 /// <param name="FdoThreadCapability_SingleThreaded"> 00029 /// The feature provider is not thread safe. 00030 /// </param> 00031 /// <param name="FdoThreadCapability_PerConnectionThreaded"> 00032 /// The feature provider supports a single thread per connection. Multiple concurrent threads 00033 /// cannot access the same connection object and only one command can be executing per 00034 /// connection. Multiple connections can be active concurrently as long as each is 00035 /// executing on its own thread. 00036 /// </param> 00037 /// <param name="FdoThreadCapability_PerCommandThreaded"> 00038 /// The feature provider supports a single thread per command. Multiple concurrent threads 00039 /// cannot access the same command object, however multiple commands can be executing 00040 /// concurrently against a single connection. 00041 /// </param> 00042 /// <param name="FdoThreadCapability_MultiThreaded"> 00043 /// The feature provider is fully multi-threaded. Concurrent thread access is safe 00044 /// for all objects. 00045 /// </param> 00046 enum FdoThreadCapability 00047 { 00048 /// The feature provider is not thread safe. 00049 FdoThreadCapability_SingleThreaded, 00050 00051 /// The feature provider supports a single thread per connection. Multiple concurrent threads 00052 /// cannot access the same connection object and only one command can be executing per 00053 /// connection. Multiple connections can be active concurrently as long as each is 00054 /// executing on its own thread. 00055 FdoThreadCapability_PerConnectionThreaded, 00056 00057 /// The feature provider supports a single thread per command. Multiple concurrent threads 00058 /// cannot access the same command object; however, multiple commands can be executing 00059 /// concurrently against a single connection. 00060 FdoThreadCapability_PerCommandThreaded, 00061 00062 /// The feature provider is fully multi-threaded. Concurrent thread access is safe 00063 /// for all objects. 00064 FdoThreadCapability_MultiThreaded 00065 }; 00066 #endif 00067 00068
Comments or suggestions? Send us feedback. |