src/Application.hh
author terom
Tue, 09 Dec 2008 04:41:48 +0000
changeset 368 fe49a4b12575
parent 358 37b18b779ffb
child 389 e74c1820fbd2
permissions -rw-r--r--
move our overdrive-doxygen stuff to doxygen_hc_overclock.cfg
358
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     1
#ifndef APPLICATION_HH
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     2
#define APPLIATION_HH
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     3
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     4
#include "Engine.hh"
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     5
#include "Error.hh"
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     6
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     7
#include <ClanLib/core.h>
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     8
#include <ClanLib/application.h>
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
     9
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    10
class ArgumentError : public Error {
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    11
    public:
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    12
        ArgumentError (const std::string &message) : Error(message) { }
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    13
};
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    14
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    15
/**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    16
 * Our CL_ClanApplication. Provides our main function, handles argument parsing and interacts with Engine
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    17
 */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    18
class Main : public CL_ClanApplication {
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    19
    private:
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    20
        // arguments
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    21
        CL_CommandLine args;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    22
        
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    23
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    24
         * --graphics
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    25
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    26
        bool arg_graphics;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    27
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    28
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    29
         * --port
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    30
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    31
        std::string arg_port;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    32
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    33
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    34
         * --server
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    35
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    36
        bool arg_server;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    37
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    38
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    39
         * --connect
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    40
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    41
        std::string arg_connect;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    42
        
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    43
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    44
         * Set the arg_* members
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    45
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    46
        void parse_args (int argc, char **argv);
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    47
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    48
    public:
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    49
        /**
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    50
         * IT BEGAN IN AFRIKA
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    51
         */
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    52
        virtual int main (int argc, char **argv);
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    53
} app;
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    54
37b18b779ffb PIMP MAH DOXYGEN
terom
parents:
diff changeset
    55
#endif