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__