Scopira 20080306

reactor.h

00001 
00002 /*
00003  *  Copyright (c) 2001    National Research Council
00004  *
00005  *  All rights reserved.
00006  *
00007  *  This material is confidential and proprietary information of
00008  *  National Research Council Canada ("Confidential Information").
00009  *  This Confidential Information may only be used and reproduced
00010  *  in accordance with the terms of the license agreement.
00011  *
00012  */
00013 
00014 #ifndef __INCLUDED__SCOPIRA_TOOL_REACTOR__
00015 #define __INCLUDED__SCOPIRA_TOOL_REACTOR__
00016 
00017 #include <string>
00018 
00019 #include <scopira/tool/object.h>
00020 
00021 namespace scopira
00022 {
00023   namespace tool
00024   {
00025     class destroy_reactor_i;
00026     class update_reactor_i;
00027     class rename_reactor_i;
00028   }
00029 }
00030 
00036 class scopira::tool::destroy_reactor_i : public virtual scopira::tool::object
00037 {
00038   public:
00044     virtual void react_destroy(object *source) = 0;
00045 };
00046 
00052 class scopira::tool::update_reactor_i : public virtual scopira::tool::object
00053 {
00054   public:
00060     virtual void react_update(object *source) = 0;
00061 };
00062 
00067 class scopira::tool::rename_reactor_i : public virtual scopira::tool::object
00068 {
00069   public:
00074     virtual void react_rename(object *source, const std::string &newname) = 0;
00075 };
00076 
00077 #endif
00078