00001 //------------------------------------------------------------------------- 00002 // 00003 // File: ClassDescC.h 00004 // Desc: Plugin Class Descriptor class. 00005 // Author: memon <memon@inside.org> 00006 // 00007 //------------------------------------------------------------------------- 00008 // Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved. 00009 // This file is part of Moppi Demopaja SDK. For conditions of 00010 // distribution and use, see the accompanying license.txt file. 00011 // http://moppi.inside.org/demopaja/ 00012 //------------------------------------------------------------------------- 00013 00014 #ifndef __DEMOPAJA_CLASSDESCC_H__ 00015 #define __DEMOPAJA_CLASSDESCC_H__ 00016 00017 #include "DemopajaVersion.h" 00018 #include "PajaTypes.h" 00019 #include "ClassIdC.h" 00020 00021 00022 namespace PluginClass { 00023 00024 00026 enum ClassTypesE { 00027 CLASS_TYPE_NONE = 0, 00028 CLASS_TYPE_EFFECT, 00029 CLASS_TYPE_FILEIMPORT, 00030 CLASS_TYPE_DEVICEDRIVER, 00031 CLASS_TYPE_FILEPROCEDURAL, 00032 CLASS_TYPE_INTERNAL, 00033 }; 00034 00036 00042 class ClassDescC 00043 { 00044 public: 00045 00047 ClassDescC(); 00048 00050 virtual ~ClassDescC(); 00051 00053 00067 virtual void* create() = 0; 00068 00070 00074 virtual PajaTypes::int32 get_classtype() const = 0; 00075 00077 00084 virtual ClassIdC get_class_id() const = 0; 00085 00087 00091 virtual SuperClassIdC get_super_class_id() const = 0; 00092 00094 00108 virtual const char* get_name() const = 0; 00109 00111 00121 virtual const char* get_desc() const = 0; 00122 00124 00134 virtual const char* get_author_name() const = 0; 00135 00137 00147 virtual const char* get_copyright_message() const = 0; 00148 00150 00162 virtual const char* get_url() const = 0; 00163 00165 00181 virtual const char* get_help_filename() const = 0; 00182 00184 00197 virtual PajaTypes::uint32 get_ext_count() const = 0; 00198 00200 00222 virtual const char* get_ext( PajaTypes::uint32 ui32Index ) const = 0; 00223 00225 00236 virtual PajaTypes::uint32 get_required_device_driver_count() const = 0; 00237 00239 00252 virtual const PluginClass::ClassIdC& get_required_device_driver( PajaTypes::uint32 ui32Idx ) = 0; 00253 }; 00254 00255 00256 }; // namespace 00257 00258 #endif // __DEMOPAJA_CLASSDESCC_H__