External.h

Go to the documentation of this file.
00001 /*
00002  * The information in this file is
00003  * Copyright(c) 2007 Ball Aerospace & Technologies Corporation
00004  * and is subject to the terms and conditions of the
00005  * GNU Lesser General Public License Version 2.1
00006  * The license text is available from   
00007  * http://www.gnu.org/licenses/lgpl.html
00008  */
00009 
00010 #ifndef EXTERNAL_H
00011 #define EXTERNAL_H
00012 
00013 /**
00014  * \cond INTERNAL
00015  *  Primary plug-in interface to the main application
00016  *
00017  *  Defines the external abstract interface to the main application.
00018  *  This interface can be used to gain access to services provided by
00019  *  the main application.
00020  */
00021 class External
00022 {
00023 public:
00024    /**
00025     *  Get descriptive information about the Module
00026     *
00027     *  The queryInterface() method is used to ask the main application
00028     *  for a reference to a service.  If the service is not supported 
00029     *  this method returns false.  Otherwise the reference is returned 
00030     *  as the interfaceAddress parameter.
00031     * 
00032     *  @param   interfaceName
00033     *           Interface requested
00034     *  @param   interfaceAddress
00035     *           NULL or reference to interface
00036     *
00037     *  @return  TRUE if the interface is supported.
00038     */
00039    virtual bool queryInterface( const char *interfaceName, void** interfaceAddress ) = 0;
00040 
00041 protected:
00042    /**
00043     * This will be cleaned up during application close.  Plug-ins do not
00044     * need to destroy it.
00045     */
00046    virtual ~External() {}
00047 };
00048 /// \endcond
00049 
00050 #endif

Software Development Kit - Opticks 4.9.0 Build 16218