/mini_service

Create Windows Services, and just that

Primary LanguageRubyMIT LicenseMIT

MiniService

This is a rewrite/rethink of ServiceFB. ServiceFB started as small framework to create services using FreeBASIC language.

It was a proof of concept that powered mongrel_service back in 2006.

By today's standard, that code runs obsolete. New features added to FreeBASIC over the years could provide a better codebase.

Maintainer needed

As January 1st, 2015, this project has become unmaintained.

If you want to take over maintenance of this project, please open an issue stating your intention and we can coordinate the entire process there.

Thank you.

Making things more simple

This project aims to go back to basic, go to a simple and single purpose library instead.

This not only removes features found in ServiceFB, but changes completely the way of coding and creating services with it.

What have changed and what you need to know:

Using proper encapsulation

While FreeBASIC inheritance is still missing, this library uses an OO-like approach to provide better encapsulation of your service code.

You can find inside examples/basic.bas how this encapsulations works.

Better thread-safety

ServiceFB, while stable, it was not thread-safe, no way. It was even advised against playing with multiple services in the same executable due the usage of global variables (shame on me).

Well, MiniService solves that: there is only one service per executable, no globals.

Less garbage... I mean code

MiniService has approximately 250 SLOC, that is just 22% of what ServiceFB code is (1158 SLOC). Less code means less marging for errors, less cruft to maintain.

Info and Support

License

MiniService is released under the MIT License.