ipluginbase.h File Reference

#include "funknown.h"

Go to the source code of this file.

Namespaces

namespace  Steinberg

Classes

class  Steinberg::IPluginBase
struct  Steinberg::PFactoryInfo
struct  Steinberg::PClassInfo
struct  Steinberg::PClassInfo2
class  Steinberg::IPluginFactory
class  Steinberg::IPluginFactory2

Defines

#define LICENCE_UID(l1, l2, l3, l4)

Typedefs

typedef Steinberg::IPluginFactory
*PLUGIN_API * 
GetFactoryProc ()

Functions

Steinberg::IPluginFactory
*PLUGIN_API 
GetPluginFactory ()


Define Documentation

#define LICENCE_UID ( l1,
l2,
l3,
l4   ) 

Value:

{ \
        (char)((l1 & 0xFF000000) >> 24), (char)((l1 & 0x00FF0000) >> 16), \
        (char)((l1 & 0x0000FF00) >>  8), (char)((l1 & 0x000000FF)      ), \
        (char)((l2 & 0xFF000000) >> 24), (char)((l2 & 0x00FF0000) >> 16), \
        (char)((l2 & 0x0000FF00) >>  8), (char)((l2 & 0x000000FF)      ), \
        (char)((l3 & 0xFF000000) >> 24), (char)((l3 & 0x00FF0000) >> 16), \
        (char)((l3 & 0x0000FF00) >>  8), (char)((l3 & 0x000000FF)      ), \
        (char)((l4 & 0xFF000000) >> 24), (char)((l4 & 0x00FF0000) >> 16), \
        (char)((l4 & 0x0000FF00) >>  8), (char)((l4 & 0x000000FF)      )  \
}

Definition at line 135 of file ipluginbase.h.


Typedef Documentation

typedef Steinberg::IPluginFactory* PLUGIN_API* GetFactoryProc()

Definition at line 268 of file ipluginbase.h.


Function Documentation

Steinberg::IPluginFactory* PLUGIN_API GetPluginFactory (  ) 

Plug-In entrypoint. Any plugin must define and export this function.
A typical implementation of GetPluginFactory looks like this

        IPluginFactory* PLUGIN_API GetPluginFactory ()
        {
                if (!gPluginFactory)
                {
                        static PFactoryInfo factoryInfo =
                        {
                                "My Company Name",
                                "http://www.mywebpage.com",
                                "mailto:myemail@address.com",
                                PFactoryInfo::kNoFlags
                        };

                        gPluginFactory = new CPluginFactory (factoryInfo);

                        static PClassInfo componentClass =
                        {
                                INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000), // replace by a valid uid
                                1,    
                                "Service",    // category
                                "Name"
                        };

                        gPluginFactory->registerClass (&componentClass, MyComponentClass::newInstance);
                }
                else
                        gPluginFactory->addRef ();

                return gPluginFactory;
        }
See also:
loadPlugin

Empty


Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.