Dryad/DryadVertex/VertexHost/system/dprocess/include/dvertexmain.h

41 lines
1.5 KiB
C++

/*
Copyright (c) Microsoft Corporation
All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License
at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF
TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions and
limitations under the License.
*/
#pragma once
#include <dryadstandaloneini.h>
#include <dryadvertex.h>
class DryadVertexFactoryBase;
// This is the default implementation of main() for a vertex. If the application does not
// implement main(), this function gets called by a stub main().
extern int DryadVertexMain(int argc, char* argv[],
DryadVertexFactoryBase* factory);
extern int DryadJobManagerMain(int argc, char* argv[]);
extern int DryadJointMain(int argc, char* argv[]);
/* if an app wants to use DVERTEXMAIN instead of DVERTEXJOINTMAIN it
needs to implement this call to include registration of all its
static vertex factories. If it returns NULL then the vertex to run
will be determined by the command line. Otherwise the vertex will
be the one generated by the factory that is returned. */
DryadVertexFactoryBase* DryadRegisterFactories();