00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00050 #ifndef ATLSTL_INCL_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO
00051 #define ATLSTL_INCL_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO
00052 
00053 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00054 # define ATLSTL_VER_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO_MAJOR     5
00055 # define ATLSTL_VER_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO_MINOR     0
00056 # define ATLSTL_VER_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO_REVISION  1
00057 # define ATLSTL_VER_ATLSTL_ERROR_HPP_SUPPORT_ERROR_INFO_EDIT      67
00058 #endif 
00059 
00060 
00061 
00062 
00063 
00064 #ifndef ATLSTL_INCL_ATLSTL_HPP_ATLSTL
00065 # include <atlstl/atlstl.hpp>
00066 #endif 
00067 
00068 
00069 
00070 
00071 
00072 #ifndef _ATLSTL_NO_NAMESPACE
00073 # if defined(_STLSOFT_NO_NAMESPACE) || \
00074      defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00075 
00076 namespace atlstl
00077 {
00078 # else
00079 
00080 
00081 namespace stlsoft
00082 {
00083 
00084 namespace atlstl_project
00085 {
00086 
00087 # endif 
00088 #endif 
00089 
00090 
00091 
00092 
00093 
00099 
00100 template <IID const* piid>
00101 class ATL_NO_VTABLE SupportErrorInfoImpl
00102     : public ISupportErrorInfo
00103 {
00104 public:
00105     typedef SupportErrorInfoImpl<piid>  class_type;
00106 
00107 
00108 public:
00109     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
00110     {
00111         return (InlineIsEqualGUID(riid, *piid))
00112                     ? S_OK
00113                     : S_FALSE;
00114     }
00115 };
00116 
00117 
00123 
00124 template <IID const* piid1, IID const* piid2>
00125 class ATL_NO_VTABLE SupportErrorInfoImpl2
00126     : public ISupportErrorInfo
00127 {
00128 public:
00129     typedef SupportErrorInfoImpl2<piid1, piid2> class_type;
00130 
00131 
00132 public:
00133     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
00134     {
00135         return (InlineIsEqualGUID(riid, *piid1) ||
00136                 InlineIsEqualGUID(riid, *piid2))
00137                     ? S_OK
00138                     : S_FALSE;
00139     }
00140 };
00141 
00142 
00148 
00149 template <IID const* piid1, IID const* piid2, IID const* piid3>
00150 class ATL_NO_VTABLE SupportErrorInfoImpl3
00151     : public ISupportErrorInfo
00152 {
00153 public:
00154     typedef SupportErrorInfoImpl3<piid1, piid2, piid3>  class_type;
00155 
00156 
00157 public:
00158     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
00159     {
00160         return (InlineIsEqualGUID(riid, *piid1) ||
00161                 InlineIsEqualGUID(riid, *piid2) ||
00162                 InlineIsEqualGUID(riid, *piid3))
00163                     ? S_OK
00164                     : S_FALSE;
00165     }
00166 };
00167 
00168 
00174 
00175 template <IID const* piid1, IID const* piid2, IID const* piid3, IID const* piid4>
00176 class ATL_NO_VTABLE SupportErrorInfoImpl4
00177     : public ISupportErrorInfo
00178 {
00179 public:
00180     typedef SupportErrorInfoImpl4<piid1, piid2, piid3, piid4>   class_type;
00181 
00182 
00183 public:
00184     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
00185     {
00186         return (InlineIsEqualGUID(riid, *piid1) ||
00187                 InlineIsEqualGUID(riid, *piid2) ||
00188                 InlineIsEqualGUID(riid, *piid3) ||
00189                 InlineIsEqualGUID(riid, *piid4))
00190                     ? S_OK
00191                     : S_FALSE;
00192     }
00193 };
00194 
00195 
00201 
00202 template <IID const* piid1, IID const* piid2, IID const* piid3, IID const* piid4, IID const* piid5>
00203 class ATL_NO_VTABLE SupportErrorInfoImpl5
00204     : public ISupportErrorInfo
00205 {
00206 public:
00207     typedef SupportErrorInfoImpl5<piid1, piid2, piid3, piid4, piid5>   class_type;
00208 
00209 
00210 public:
00211     STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
00212     {
00213         return (InlineIsEqualGUID(riid, *piid1) ||
00214                 InlineIsEqualGUID(riid, *piid2) ||
00215                 InlineIsEqualGUID(riid, *piid3) ||
00216                 InlineIsEqualGUID(riid, *piid4) ||
00217                 InlineIsEqualGUID(riid, *piid5))
00218                     ? S_OK
00219                     : S_FALSE;
00220     }
00221 };
00222 
00223 
00224 
00225 #ifndef _ATLSTL_NO_NAMESPACE
00226 # if defined(_STLSOFT_NO_NAMESPACE) || \
00227      defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00228 } 
00229 # else
00230 } 
00231 } 
00232 # endif 
00233 #endif 
00234 
00235 
00236 
00237 #endif 
00238 
00239