00001 00002 // -*- C++ -*- 00003 00004 // AutoRunCommand.h 00005 // 00006 // Copyright (C) 2003 Pascal Vincent 00007 // 00008 // Redistribution and use in source and binary forms, with or without 00009 // modification, are permitted provided that the following conditions are met: 00010 // 00011 // 1. Redistributions of source code must retain the above copyright 00012 // notice, this list of conditions and the following disclaimer. 00013 // 00014 // 2. Redistributions in binary form must reproduce the above copyright 00015 // notice, this list of conditions and the following disclaimer in the 00016 // documentation and/or other materials provided with the distribution. 00017 // 00018 // 3. The name of the authors may not be used to endorse or promote 00019 // products derived from this software without specific prior written 00020 // permission. 00021 // 00022 // THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR 00023 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00024 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 00025 // NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00026 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 00027 // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00028 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00029 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00030 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00031 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00032 // 00033 // This file is part of the PLearn library. For more information on the PLearn 00034 // library, go to the PLearn Web site at www.plearn.org 00035 00036 /* ******************************************************* 00037 * $Id: AutoRunCommand.h,v 1.2 2004/02/20 21:11:40 chrish42 Exp $ 00038 ******************************************************* */ 00039 00041 #ifndef AutoRunCommand_INC 00042 #define AutoRunCommand_INC 00043 00044 #include "PLearnCommand.h" 00045 #include "PLearnCommandRegistry.h" 00046 00047 namespace PLearn { 00048 using namespace std; 00049 00050 class AutoRunCommand: public PLearnCommand 00051 { 00052 public: 00053 AutoRunCommand(): 00054 PLearnCommand("autorun", 00055 00056 "watches files for changes and reruns the .plearn script", 00057 00058 "watch <script.plearn> [other files to watch]\n" 00059 "Will run the .plearn script once and watches its and other files for changes.\n" 00060 "Will rerun the script automatically each time its date changes \n" 00061 "or the date of one of the watched files changes. \n" 00062 ) 00063 {} 00064 00065 virtual void run(const vector<string>& args); 00066 00067 protected: 00068 static PLearnCommandRegistry reg_; 00069 }; 00070 00071 00072 } // end of namespace PLearn 00073 00074 #endif