Changed: #1440 Separation of process handler and process info
--HG-- branch : build_pipeline_v3hg/feature/build_pipeline_v3
parent
d114c38eda
commit
31785b7ab8
@ -1,4 +1,5 @@
|
|||||||
SUBDIRS(
|
SUBDIRS(
|
||||||
plugin_library
|
plugin_library
|
||||||
|
plugin_nel
|
||||||
plugin_max
|
plugin_max
|
||||||
service)
|
service)
|
||||||
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* \file process_handler.h
|
||||||
|
* \brief IProcessHandler
|
||||||
|
* \date 2012-03-03 10:14GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* IProcessHandler
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PIPELINE_PROCESS_HANDLER_H
|
||||||
|
#define PIPELINE_PROCESS_HANDLER_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
#include <nel/misc/class_registry.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief IProcessHandler
|
||||||
|
* \date 2012-03-03 10:14GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* IProcessHandler
|
||||||
|
* A process handler is executed by the PLS SLAVE services. Processes can have multiple handlers. These are configured under the workspace plugins sheet.
|
||||||
|
*/
|
||||||
|
class IProcessHandler : public NLMISC::IClassable
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
// pointers
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// instances
|
||||||
|
// ...
|
||||||
|
public:
|
||||||
|
IProcessHandler();
|
||||||
|
virtual ~IProcessHandler();
|
||||||
|
}; /* class IProcessHandler */
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
#endif /* #ifndef PIPELINE_PROCESS_HANDLER_H */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* \file process_info.cpp
|
||||||
|
* \brief IProcessInfo
|
||||||
|
* \date 2012-03-03 10:14GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* IProcessInfo
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
#include "process_info.h"
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
// #include <nel/misc/debug.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
// using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
void sjdflkmsdjfmlkqsjlkfdj() { }
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,72 @@
|
|||||||
|
/**
|
||||||
|
* \file process_info.h
|
||||||
|
* \brief IProcessInfo
|
||||||
|
* \date 2012-03-03 10:14GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* IProcessInfo
|
||||||
|
* A process info is executed by the PLS MASTER to prepare a process handler to be run.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PIPELINE_PROCESS_INFO_H
|
||||||
|
#define PIPELINE_PROCESS_INFO_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
#include <nel/misc/class_registry.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief IProcessInfo
|
||||||
|
* \date 2012-03-03 10:14GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* IProcessInfo
|
||||||
|
*/
|
||||||
|
class IProcessInfo : public NLMISC::IClassable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IProcessInfo() { }
|
||||||
|
virtual ~IProcessInfo() { }
|
||||||
|
|
||||||
|
/// Dependency information used to store the initial state of files on which the process depends.
|
||||||
|
/// A process handler is not allowed to depend on any files it does not list here.
|
||||||
|
|
||||||
|
/// Must return all directories on which the process handler recursively depends.
|
||||||
|
virtual void getDependentDirectoriesRecursive(std::vector<std::string> &result) = 0;
|
||||||
|
/// Must return all directories on which the process handler depends.
|
||||||
|
virtual void getDependentDirectories(std::vector<std::string> &result) = 0;
|
||||||
|
/// Must return all files on which the process handler depends, ONLY if these are not in dependent directories.
|
||||||
|
virtual void getDependentFiles(std::vector<std::string> &result) = 0;
|
||||||
|
|
||||||
|
}; /* class IProcessInfo */
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
#endif /* #ifndef PIPELINE_PROCESS_INFO_H */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -1,68 +0,0 @@
|
|||||||
/**
|
|
||||||
* \file process_plugin.h
|
|
||||||
* \brief IProcessPlugin
|
|
||||||
* \date 2012-02-25 10:19GMT
|
|
||||||
* \author Jan Boon (Kaetemi)
|
|
||||||
* IProcessPlugin
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (C) 2012 by authors
|
|
||||||
*
|
|
||||||
* This file is part of RYZOM CORE PIPELINE.
|
|
||||||
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation, either version 2 of
|
|
||||||
* the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
|
||||||
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
||||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
|
||||||
* <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PIPELINE_PROCESS_PLUGIN_H
|
|
||||||
#define PIPELINE_PROCESS_PLUGIN_H
|
|
||||||
#include <nel/misc/types_nl.h>
|
|
||||||
|
|
||||||
// STL includes
|
|
||||||
|
|
||||||
// NeL includes
|
|
||||||
#include <nel/misc/class_registry.h>
|
|
||||||
|
|
||||||
// Project includes
|
|
||||||
|
|
||||||
namespace PIPELINE {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief IProcessPlugin
|
|
||||||
* \date 2012-02-25 10:19GMT
|
|
||||||
* \author Jan Boon (Kaetemi)
|
|
||||||
* /// REJECTED.A /// A process plugin handles process sheets with specified sheet extention.
|
|
||||||
* /// REJECTED.A /// If more than one process plugin handles a sheet extention, all of them will be run.
|
|
||||||
* A process sheet may define one or more process plugins to handle the process.
|
|
||||||
* The master service may dispatch these seperately to different slave services to executa a single process sheets using multiple process plugins.
|
|
||||||
* This enables creating seperate plugins for different file formats for the same process, to allow handling files from different modeling packages on different build servers.
|
|
||||||
*/
|
|
||||||
class IProcessPlugin : public NLMISC::IClassable
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
// pointers
|
|
||||||
// ...
|
|
||||||
|
|
||||||
// instances
|
|
||||||
// ...
|
|
||||||
public:
|
|
||||||
IProcessPlugin();
|
|
||||||
virtual ~IProcessPlugin();
|
|
||||||
}; /* class IProcessPlugin */
|
|
||||||
|
|
||||||
} /* namespace PIPELINE */
|
|
||||||
|
|
||||||
#endif /* #ifndef PIPELINE_PROCESS_PLUGIN_H */
|
|
||||||
|
|
||||||
/* end of file */
|
|
@ -0,0 +1,13 @@
|
|||||||
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
|
SOURCE_GROUP("" FILES ${SRC})
|
||||||
|
|
||||||
|
ADD_LIBRARY(pipeline_plugin_nel MODULE ${SRC})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(pipeline_plugin_nel pipeline_plugin_library nelmisc)
|
||||||
|
|
||||||
|
NL_DEFAULT_PROPS(pipeline_plugin_nel "Pipeline Plugin NeL")
|
||||||
|
NL_ADD_LIB_SUFFIX(pipeline_plugin_nel)
|
||||||
|
NL_ADD_RUNTIME_FLAGS(pipeline_plugin_nel)
|
||||||
|
|
||||||
|
INSTALL(TARGETS pipeline_plugin_nel LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT pipeline)
|
@ -0,0 +1,87 @@
|
|||||||
|
/**
|
||||||
|
* \file pipeline_plugin_nel.cpp
|
||||||
|
* \brief CPipelinePluginNeL
|
||||||
|
* \date 2012-03-03 10:09GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CPipelinePluginNeL
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
#include "pipeline_plugin_nel.h"
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
#include "nel/misc/dynloadlib.h"
|
||||||
|
#include "nel/misc/debug.h"
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "../plugin_library/pipeline_interface.h"
|
||||||
|
#include "process_interface.h"
|
||||||
|
#include "process_interface_info.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
// using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
|
||||||
|
class CPipelinePluginNeLNelLibrary : public NLMISC::INelLibrary
|
||||||
|
{
|
||||||
|
void onLibraryLoaded(bool /* firstTime */)
|
||||||
|
{
|
||||||
|
nldebug("Library loaded: CPipelinePluginNeL");
|
||||||
|
PIPELINE_REGISTER_CLASS(CProcessInterface);
|
||||||
|
PIPELINE_REGISTER_CLASS(CProcessInterfaceInfo);
|
||||||
|
}
|
||||||
|
void onLibraryUnloaded(bool /* lastTime */)
|
||||||
|
{
|
||||||
|
nldebug("Library unloaded: CPipelinePluginNeL");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
NLMISC_DECL_PURE_LIB(CPipelinePluginNeLNelLibrary)
|
||||||
|
|
||||||
|
HINSTANCE CPipelinePluginNeLDllHandle = NULL;
|
||||||
|
BOOL WINAPI DllMain(HANDLE hModule, DWORD /* ul_reason_for_call */, LPVOID /* lpReserved */)
|
||||||
|
{
|
||||||
|
CPipelinePluginNeLDllHandle = (HINSTANCE)hModule;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
CPipelinePluginNeL::CPipelinePluginNeL()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CPipelinePluginNeL::~CPipelinePluginNeL()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* \file pipeline_plugin_nel.h
|
||||||
|
* \brief CPipelinePluginNeL
|
||||||
|
* \date 2012-03-03 10:09GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CPipelinePluginNeL
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PIPELINE_PIPELINE_PLUGIN_NEL_H
|
||||||
|
#define PIPELINE_PIPELINE_PLUGIN_NEL_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
/*
|
||||||
|
/**
|
||||||
|
* \brief CPipelinePluginNeL
|
||||||
|
* \date 2012-03-03 10:09GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CPipelinePluginNeL
|
||||||
|
*
|
||||||
|
class CPipelinePluginNeL
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
// pointers
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// instances
|
||||||
|
// ...
|
||||||
|
public:
|
||||||
|
CPipelinePluginNeL();
|
||||||
|
virtual ~CPipelinePluginNeL();
|
||||||
|
}; /* class CPipelinePluginNeL *
|
||||||
|
*/
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
#endif /* #ifndef PIPELINE_PIPELINE_PLUGIN_NEL_H */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,66 @@
|
|||||||
|
/**
|
||||||
|
* \file process_interface.h
|
||||||
|
* \brief CProcessInterface
|
||||||
|
* \date 2012-03-03 10:10GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CProcessInterface
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PIPELINE_PROCESS_INTERFACE_H
|
||||||
|
#define PIPELINE_PROCESS_INTERFACE_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "../plugin_library/process_handler.h"
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief CProcessInterface
|
||||||
|
* \date 2012-03-03 10:10GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CProcessInterface
|
||||||
|
*/
|
||||||
|
class CProcessInterface : public IProcessHandler
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
// pointers
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// instances
|
||||||
|
// ...
|
||||||
|
public:
|
||||||
|
CProcessInterface();
|
||||||
|
virtual ~CProcessInterface();
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS(CProcessInterface)
|
||||||
|
}; /* class CProcessInterface */
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
#endif /* #ifndef PIPELINE_PROCESS_INTERFACE_H */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,70 @@
|
|||||||
|
/**
|
||||||
|
* \file process_interface_info.cpp
|
||||||
|
* \brief CProcessInterfaceInfo
|
||||||
|
* \date 2012-03-03 10:10GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CProcessInterfaceInfo
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
#include "process_interface_info.h"
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
// #include <nel/misc/debug.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
// using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
CProcessInterfaceInfo::CProcessInterfaceInfo()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CProcessInterfaceInfo::~CProcessInterfaceInfo()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CProcessInterfaceInfo::getDependentDirectoriesRecursive(std::vector<std::string> &result)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CProcessInterfaceInfo::getDependentDirectories(std::vector<std::string> &result)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CProcessInterfaceInfo::getDependentFiles(std::vector<std::string> &result)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,70 @@
|
|||||||
|
/**
|
||||||
|
* \file process_interface_info.h
|
||||||
|
* \brief CProcessInterfaceInfo
|
||||||
|
* \date 2012-03-03 10:10GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CProcessInterfaceInfo
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PIPELINE_PROCESS_INTERFACE_INFO_H
|
||||||
|
#define PIPELINE_PROCESS_INTERFACE_INFO_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "../plugin_library/process_info.h"
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief CProcessInterfaceInfo
|
||||||
|
* \date 2012-03-03 10:10GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CProcessInterfaceInfo
|
||||||
|
*/
|
||||||
|
class CProcessInterfaceInfo : public IProcessInfo
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
// pointers
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// instances
|
||||||
|
// ...
|
||||||
|
public:
|
||||||
|
CProcessInterfaceInfo();
|
||||||
|
virtual ~CProcessInterfaceInfo();
|
||||||
|
|
||||||
|
virtual void getDependentDirectoriesRecursive(std::vector<std::string> &result);
|
||||||
|
virtual void getDependentDirectories(std::vector<std::string> &result);
|
||||||
|
virtual void getDependentFiles(std::vector<std::string> &result);
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS(CProcessInterfaceInfo)
|
||||||
|
}; /* class CProcessInterfaceInfo */
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
#endif /* #ifndef PIPELINE_PROCESS_INTERFACE_INFO_H */
|
||||||
|
|
||||||
|
/* end of file */
|
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
* \file pipeline_process_impl.cpp
|
||||||
|
* \brief CPipelineProcessImpl
|
||||||
|
* \date 2012-03-03 09:33GMT
|
||||||
|
* \author Jan Boon (Kaetemi)
|
||||||
|
* CPipelineProcessImpl
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 by authors
|
||||||
|
*
|
||||||
|
* This file is part of RYZOM CORE PIPELINE.
|
||||||
|
* RYZOM CORE PIPELINE is free software: you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RYZOM CORE PIPELINE is distributed in the hope that it will be
|
||||||
|
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with RYZOM CORE PIPELINE; see the file COPYING. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
#include "pipeline_process_impl.h"
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
#include <nel/misc/time_nl.h>
|
||||||
|
#include <nel/misc/app_context.h>
|
||||||
|
#include <nel/misc/debug.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "pipeline_service.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
// using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace PIPELINE {
|
||||||
|
|
||||||
|
CPipelineProcessImpl::CPipelineProcessImpl()
|
||||||
|
{
|
||||||
|
nlassert(getInstance() == NULL);
|
||||||
|
NLMISC::INelContext::getInstance().setSingletonPointer("IPipelineProcess", this);
|
||||||
|
}
|
||||||
|
|
||||||
|
CPipelineProcessImpl::~CPipelineProcessImpl()
|
||||||
|
{
|
||||||
|
NLMISC::INelContext::getInstance().releaseSingletonPointer("IPipelineProcess", this);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CPipelineProcessImpl::getProjectValue(const std::string &name)
|
||||||
|
{
|
||||||
|
return ""; // TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CPipelineProcessImpl::getTempDir()
|
||||||
|
{
|
||||||
|
// IF PROJECT blahblah TODO
|
||||||
|
// ELSE
|
||||||
|
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << g_PipelineDirectory;
|
||||||
|
ss << NLMISC::CTime::getSecondsSince1970();
|
||||||
|
ss << ".";
|
||||||
|
ss << rand();
|
||||||
|
ss << PIPELINE_DIRECTORY_TEMP_SUFFIX;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace PIPELINE */
|
||||||
|
|
||||||
|
/* end of file */
|
Loading…
Reference in New Issue