Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

ClassDescC.h

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__

Moppi Demopaja SDK Documentation -- Copyright © 2000-2002 Moppi Productions