/* 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 #include 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();