RasterPagerShell.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 RASTERPAGERSHELL_H
00011 #define RASTERPAGERSHELL_H
00012 
00013 #include "ExecutableShell.h"
00014 #include "RasterPager.h"
00015 
00016 /**
00017  *  \ingroup ShellModule
00018  */
00019 class RasterPagerShell : public ExecutableShell, public RasterPager
00020 {
00021 public:
00022    /**
00023     *  Creates a raster pager plug-in.
00024     *
00025     *  The constructor sets the plug-in type to PlugInManagerServices::RasterPagerType(), sets the plug-in
00026     *  to allow multiple instances, and to not be destroyed after execution.
00027     *
00028     *  @see     getType(), areMultipleInstancesAllowed(),
00029     *           isDestroyedAfterExecute()
00030     */
00031    RasterPagerShell();
00032 
00033    /**
00034     *  Destroys the raster pager plug-in.
00035     */
00036    ~RasterPagerShell();
00037 
00038    /**
00039     *  @copydoc Executable::getOutputSpecification()
00040     *
00041     *  @default The default implementation does not set any args in the arg
00042     *           list and returns \b true.
00043     */
00044    bool getOutputSpecification(PlugInArgList*& pArgList);
00045 
00046    /**
00047     *  The default pager session serialization method.
00048     *
00049     *  Since pagers don't know enough to recreate and restore themselves on
00050     *  session load, they must be created by the RasterElement or another plug-
00051     *  in. The default method simply returns true, causing the session load to
00052     *  not recreate the pager.
00053     *
00054     *  @param serializer
00055     *           The object to use to save the item as part of the current 
00056     *           session.
00057     *
00058     *  @return  \c true if the item was successfully saved and \c false otherwise.
00059     */
00060    bool serialize(SessionItemSerializer& serializer) const;
00061 };
00062 
00063 #endif

Software Development Kit - Opticks 4.9.0 Build 16218