X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsc_test.c;h=e06a6ba00fbe207df857132220cf78a7de44ee0f;hb=3dc0c503f9594142c8568fabb2c8e354377251ef;hp=025baabc73f5b4d42ae9ae57666646d85589ea5a;hpb=540056f9cf1a3304b253db09eba899cc6763466d;p=yaz-moved-to-github.git diff --git a/src/sc_test.c b/src/sc_test.c index 025baab..e06a6ba 100644 --- a/src/sc_test.c +++ b/src/sc_test.c @@ -1,8 +1,13 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2010 Index Data * See the file LICENSE for details. */ +/** + * \file sc_test.c + * \brief Small test for the Windows Service Control utility + */ + #ifdef WIN32 #include #include @@ -10,17 +15,28 @@ #endif #include +#include #include #include #include #include +#ifdef WIN32 + +/** \brief handle that is used to stop that service should be stopped */ HANDLE default_stop_event = NULL; + +/** \brief stop handler which just signals "stop" */ static void default_sc_stop(yaz_sc_t s) { SetEvent(default_stop_event); } +/** \brief service control main + This does not read argc and argv. + Real applications would typically do that. It is very important that + yaz_sc_running is called before the application starts to operate . +*/ static int default_sc_main(yaz_sc_t s, int argc, char **argv) { default_stop_event = CreateEvent( @@ -38,19 +54,26 @@ static int default_sc_main(yaz_sc_t s, int argc, char **argv) return 0; } +#endif +/** \brief the system main function */ int main(int argc, char **argv) { +#ifdef WIN32 yaz_sc_t s = yaz_sc_create("yaz_sc_test", "YAZ Service Control Test"); yaz_sc_program(s, argc, argv, default_sc_main, default_sc_stop); yaz_sc_destroy(&s); +#else + printf("Only on Windows\n"); +#endif exit(0); } /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab