// // aegis - project change supervisor // Copyright (C) 2004-2006, 2008 Peter Miller // // This program 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 3 of the License, or // (at your option) any later version. // // This program 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 this program. If not, see // . // #ifndef AE_CVS_SERVER_SERVER_PRIVATE_H #define AE_CVS_SERVER_SERVER_PRIVATE_H #include #include struct server_method_ty { int size; void (*destructor)(server_ty *); void (*run)(server_ty *); // // Add new methods before this line. That way, the compiler will // complain about initialiser types if you forget to add it to one // of the vtables. // const char *name; }; /** * The server_new fucntion is used to allocate new un-constructed * instances of servers. This should only be used by derived classes, * never directly. The derived class is responsible for running the * constructor. */ server_ty *server_new(const server_method_ty *, net_ty *); #endif // AE_CVS_SERVER_SERVER_PRIVATE_H