1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| // service.h
static Process Processus()
int APIENTRY WinServiceMain(..)
{
Processus.init();
Processus.run();
Engine();
}
// process.h
class Process
{
private:
super sup_;
public:
Process() = default;
Process(const super& s);
void run()
{
sup_.main_function();
}
void init()
{
/* Multiples traitements */
sup_ = super();
}
super get_super_instance() { return sup_; }
};
// Prototype de la fonction principale de l'application.
void Engine(Process* p);
// super.h
class super
{
public:
void main_function();
void super_function();
};
// Program.cpp
int APIENTRY WinServiceMain()
{
return WinServiceMain(...);
}
void engine(Process* p)
{
// Le but: accéder aux données de l'instance et pouvoir les modifier.
super& s = p->get_super_instance();
s.super_function();
} |
Partager