pingcheck
14 years agoMessage aesthetical improvement
Guilherme Maciel Ferreira [Tue, 5 Apr 2011 07:23:21 +0000]
Message aesthetical improvement

14 years agoRemoved the address resolution from the pinger.
Guilherme Maciel Ferreira [Mon, 4 Apr 2011 10:14:30 +0000]
Removed the address resolution from the pinger.
- There is a special  class to translate DNS to IP, thus makes no sense to keep this feature here, which simplify this class.

14 years agoFixed problems issued by PC-lint.
Guilherme Maciel Ferreira [Fri, 1 Apr 2011 07:31:42 +0000]
Fixed problems issued by PC-lint.

14 years agoIncluded the unit in the variable names
Guilherme Maciel Ferreira [Thu, 31 Mar 2011 10:13:06 +0000]
Included the unit in the variable names
- states clear that we expect seconds, minutes or whatever

14 years agoImplemented the requirement "If we notified an external system that a link is down...
Guilherme Maciel Ferreira [Wed, 30 Mar 2011 10:12:21 +0000]
Implemented the requirement "If we notified an external system that a link is down, also notify it if the link is back up (=stable for a configurable period of time)"
- the status of the link is reported only once, when it changes from down to up, or vice versa
- allows to configure the minimum amount of time the link must stays stable in order to report its status

14 years agoFound another BUG (its capitalization gives a hint about the severity of this one)
Guilherme Maciel Ferreira [Wed, 30 Mar 2011 10:06:24 +0000]
Found another BUG (its capitalization gives a hint about the severity of this one)

14 years agoStandardizing the enumerations
Guilherme Maciel Ferreira [Tue, 29 Mar 2011 14:24:57 +0000]
Standardizing the enumerations

14 years agoRenamed stable-link-up-interval to link-up-interval
Guilherme Maciel Ferreira [Tue, 29 Mar 2011 08:03:52 +0000]
Renamed stable-link-up-interval to link-up-interval

14 years agoFixed return value, should be string, not boolean
Guilherme Maciel Ferreira [Mon, 28 Mar 2011 11:50:28 +0000]
Fixed return value, should be string, not boolean

14 years agoIncluded boost system to the required libraries
Guilherme Maciel Ferreira [Mon, 28 Mar 2011 09:19:39 +0000]
Included boost system to the required libraries

14 years agoRenamed StatusNotifier to LinkStatusAnalyzer
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 16:45:06 +0000]
Renamed StatusNotifier to LinkStatusAnalyzer
- the main purpose of this class is to decide whether the link is down or up, by keeping track the amount of hosts down.
- renamed the variable Analyzer to HostAnalyzer to avoid confusion with the LinkAnalyzer

14 years agoRenamed PingAnalyzer to HostStatusAnalyzer
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 15:58:20 +0000]
Renamed PingAnalyzer to HostStatusAnalyzer
- this describes better what the class is suppode to do, analyze the status of the host, using the pings.

14 years agoAdd TODO entry
Thomas Jarosch [Mon, 28 Mar 2011 09:27:33 +0000]
Add TODO entry

14 years agoRead the configured interval that a link must be up to notify
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 14:30:22 +0000]
Read the configured interval that a link must be up to notify

14 years agoPlaced limit qualifier in the end of variables names (i.e. xxx_limit instead of limit...
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 13:53:30 +0000]
Placed limit qualifier in the end of variables names (i.e. xxx_limit instead of limit_xxx)
- this keeps a pleasing symmetry with other qualifiers, for example xxx_count, xxx_limit, xxx_index

14 years agoRenamed PingAnalyzer's update_ping_failed_statistics() to analyze_ping_failed_count()
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 09:02:51 +0000]
Renamed PingAnalyzer's update_ping_failed_statistics() to analyze_ping_failed_count()

14 years agoImproved asserts
Guilherme Maciel Ferreira [Fri, 25 Mar 2011 09:37:45 +0000]
Improved asserts

14 years agoImplemented the requirement "Intelligently retry if a host doesn't reply: Try it...
Guilherme Maciel Ferreira [Thu, 24 Mar 2011 13:51:47 +0000]
Implemented the requirement "Intelligently retry if a host doesn't reply: Try it more often"
- PingAnalyzer::exceeded_ping_failed_count_limit() made public, thus the Analyzer can check when is required to speed up the ping (or back to the original interval)
- Included a PingInterval template class to hide the computation logic of interval speed up and slow down

14 years agoAttributes names according to the company's coding style.
Guilherme Maciel Ferreira [Thu, 24 Mar 2011 13:46:10 +0000]
Attributes names according to the company's coding style.

14 years agoRenamed PingStatusNotifier to StatusNotifier
Guilherme Maciel Ferreira [Thu, 24 Mar 2011 10:35:15 +0000]
Renamed PingStatusNotifier to StatusNotifier
- the class scope is not restricted to ping status notification, it is
  responsible to notify the system when certain amount of hosts are down,
  independently of the number of pings given to that host.

14 years agoIncluded script to notify when system is down or up
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 16:53:00 +0000]
Included script to notify when system is down or up

14 years agoAdded the requirement "If XX servers don't reply, it has to notify another system...
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 16:11:04 +0000]
Added the requirement "If XX servers don't reply, it has to notify another system (e.g. execute a script)"
- moved the class PingStatusNotifier from ping to notify directory.
- included a new class that encapsulate the process of system notification

14 years agoLinking against libi2ncommon
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 12:48:53 +0000]
Linking against libi2ncommon

14 years agoRenamed PingStatusNotifier::alert_host_up/down() methods to notify_host_up/down()
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 10:42:49 +0000]
Renamed PingStatusNotifier::alert_host_up/down() methods to notify_host_up/down()

14 years agoAdded intelligence to know how many hosts are down
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 10:37:30 +0000]
Added intelligence to know how many hosts are down

14 years agoConst-ification
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 10:38:29 +0000]
Const-ification

14 years agoReorganization of cmake files
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 09:39:25 +0000]
Reorganization of cmake files
- included package build
- layout change (don't know why package system was complaining about white spaces in the commands)
- redistribuition of the commands across the files

14 years agoIncluded spec file to build the RPM package
Guilherme Maciel Ferreira [Wed, 23 Mar 2011 09:37:31 +0000]
Included spec file to build the RPM package

14 years agoRemoved UML file, because it is out-dated and is not longer required.
Guilherme Maciel Ferreira [Tue, 22 Mar 2011 10:02:39 +0000]
Removed UML file, because it is out-dated and is not longer required.

14 years agoRemoved Pinger abstract class, thus avoiding the "design ahead" issue
Guilherme Maciel Ferreira [Tue, 22 Mar 2011 09:40:55 +0000]
Removed Pinger abstract class, thus avoiding the "design ahead" issue
- BoostPinger do not inherit form Pinger anymore
- reference from Code Complete 2nd edition, page 146, item "Be suspicious of base classes of which there is only one derived class"

14 years agoChanged PingStatusNotifier interface, it is now an object shared among N hosts
Guilherme Maciel Ferreira [Tue, 22 Mar 2011 09:31:58 +0000]
Changed PingStatusNotifier interface, it is now an object shared among N hosts
- this shared property allows to know how many hosts are down, once we can keep track of all hosts
- only one PingStatusNotifier instance for all PingAnalyzers objects, they pass the host to identify themselves within the notifier object

14 years agoAdded status-notifier-cmd options to indicate which command to call when the system...
Guilherme Maciel Ferreira [Tue, 22 Mar 2011 08:49:21 +0000]
Added status-notifier-cmd options to indicate which command to call when the system is down/up.

14 years agoThe limit-ping-fail option is available (and read) from the configuration file
Guilherme Maciel Ferreira [Mon, 21 Mar 2011 14:58:20 +0000]
The limit-ping-fail option is available (and read) from the configuration file
- this option sets the threshold of pings to a host that must fail in order to mark the host as down.

14 years agoRenamed the limit-to-notify configuration option to limit-hosts-down, because it...
Guilherme Maciel Ferreira [Mon, 21 Mar 2011 09:51:09 +0000]
Renamed the limit-to-notify configuration option to limit-hosts-down, because it is a better description of the intention.

14 years agoReplaced uint by int.
Guilherme Maciel Ferreira [Fri, 18 Mar 2011 16:50:04 +0000]
Replaced uint by int.
- documented that a integer is non-negative using assertions, not unsigned int (uint).

14 years agoHandle the error when a host cannot be resolved
Guilherme Maciel Ferreira [Fri, 18 Mar 2011 11:39:53 +0000]
Handle the error when a host cannot be resolved
- reorganization of PingScheduler to do not ping a host that was not resolved
- from now, the DnsResolver::resolve() method must be explicitly called by the client of the class

14 years agoErrors flushed through cerr not cout.
Guilherme Maciel Ferreira [Fri, 18 Mar 2011 11:30:55 +0000]
Errors flushed through cerr not cout.

14 years agoIncluded an invalid host and a host that does not reply.
Guilherme Maciel Ferreira [Fri, 18 Mar 2011 11:29:40 +0000]
Included an invalid host and a host that does not reply.

14 years agoMore bugs discovered and annotated
Guilherme Maciel Ferreira [Fri, 18 Mar 2011 09:47:50 +0000]
More bugs discovered and annotated

14 years agoUses the ping analyzer to evaluate the ping statistics after each ping.
Guilherme Maciel Ferreira [Tue, 15 Mar 2011 10:55:50 +0000]
Uses the ping analyzer to evaluate the ping statistics after each ping.

14 years agoReturns the amount of IPs that were resolved for the DNSResolver host.
Guilherme Maciel Ferreira [Tue, 15 Mar 2011 11:26:59 +0000]
Returns the amount of IPs that were resolved for the DNSResolver host.

14 years agoReturns a boolean indicating if the ping was successful or not.
Guilherme Maciel Ferreira [Tue, 15 Mar 2011 11:25:35 +0000]
Returns a boolean indicating if the ping was successful or not.

14 years agoBring aboard the ping analyze and notification classes.
Guilherme Maciel Ferreira [Tue, 15 Mar 2011 10:48:05 +0000]
Bring aboard the ping analyze and notification classes.
- PingAnalyzer implements the requirement to analyze if there are multiple dns entries for a host, only call this host "failed" if can't reach any of these multiple entries.
- PingStatusNotifier implements the requirement to notify an external system that a link is down, also notify it if the link is back up.But needs improvements.

14 years agoReplaced the times-to-ping parameter to simplify the code, now it pings just one...
Guilherme Maciel Ferreira [Mon, 14 Mar 2011 14:44:25 +0000]
Replaced the times-to-ping parameter to simplify the code, now it pings just one time and uses a status on/off approach to check if the ping was performed.
- also BoostPinger::create_echo_request() method is const and self sufficient, use parameter instead of changing the SequenceNumber member variable

14 years agoRe-organizing the headers files in order to...
Guilherme Maciel Ferreira [Mon, 14 Mar 2011 12:42:55 +0000]
Re-organizing the headers files in order to...
- avoid hidden dependencies, by including the class header file first.
- keep a inclusion order of C headers, C++ headers, Boost headers and Project headers.
- be relative to the source directory, this keeps clear which package the source file belongs.

14 years agoExplicit constructor to avoid implicit constructor-conversions-calls
Guilherme Maciel Ferreira [Mon, 14 Mar 2011 12:44:52 +0000]
Explicit constructor to avoid implicit constructor-conversions-calls

14 years agoPingScheduler now pings hosts IPs cyclically
Guilherme Maciel Ferreira [Fri, 11 Mar 2011 10:02:15 +0000]
PingScheduler now pings hosts IPs cyclically
- included a DNS resolver member variable to keep track of resolved IPs
- PingScheduler's constructor takes specific arguments instead of a generic Host object, this states clear which data the PingScheduler needs

14 years agoBring aboard the first scratch of a DNS resolver
Guilherme Maciel Ferreira [Fri, 11 Mar 2011 09:26:59 +0000]
Bring aboard the first scratch of a DNS resolver
- given a host DNS, this class resolves and keeps a list of IPs for that host

14 years agoAesthetic change to header files according to the project standard
Guilherme Maciel Ferreira [Fri, 11 Mar 2011 09:48:39 +0000]
Aesthetic change to header files according to the project standard

14 years agoCode improvements on BoostPinger
Guilherme Maciel Ferreira [Thu, 10 Mar 2011 10:22:43 +0000]
Code improvements on BoostPinger
- included an assert to make sure a non-empty address is sent to the socket
- better names for the handlers methods

14 years agoMoved Host class from ping directory to config directory, because it is a configurati...
Guilherme Maciel Ferreira [Thu, 10 Mar 2011 14:34:25 +0000]
Moved Host class from ping directory to config directory, because it is a configuration item

14 years agoAdded TODO file, including known bugs report
Guilherme Maciel Ferreira [Thu, 10 Mar 2011 10:26:09 +0000]
Added TODO file, including known bugs report

14 years agoMore descriptions of the configuration in the Readme file
Guilherme Maciel Ferreira [Thu, 10 Mar 2011 10:21:00 +0000]
More descriptions of the configuration in the Readme file

14 years agoThe echo reply timeout can be configured through parameter to BoostPinger
Guilherme Maciel Ferreira [Wed, 9 Mar 2011 09:40:34 +0000]
The echo reply timeout can be configured through parameter to BoostPinger

14 years agoRenamed PingCheck class to PingScheduler.
Guilherme Maciel Ferreira [Wed, 9 Mar 2011 08:47:23 +0000]
Renamed PingCheck class to PingScheduler.
- this name describes better the main purpose behind this class, which is to call the pinger in configured intervals

14 years agoThe application now pings many hosts in parallel
Guilherme Maciel Ferreira [Tue, 8 Mar 2011 17:56:29 +0000]
The application now pings many hosts in parallel
- uses an asynchronous approach, based on boost::asio::io_service::run() loop and asynchronous timers

14 years agoAttribute renamed according to the code conventions
Guilherme Maciel Ferreira [Tue, 8 Mar 2011 17:52:14 +0000]
Attribute renamed according to the code conventions

14 years agoIncluded a section explaining the basics of the code
Guilherme Maciel Ferreira [Tue, 8 Mar 2011 17:51:37 +0000]
Included a section explaining the basics of the code

14 years agoCode improvements
Guilherme Maciel Ferreira [Tue, 8 Mar 2011 10:14:28 +0000]
Code improvements
- stratified some functionalities into other methods;
- const-correctness
- added variables to clarify code

14 years agoRemoved unused class: PingManager
Guilherme Maciel Ferreira [Tue, 8 Mar 2011 09:01:53 +0000]
Removed unused class: PingManager

14 years agoRemoved unused header files
Guilherme Maciel Ferreira [Mon, 7 Mar 2011 15:35:45 +0000]
Removed unused header files

14 years agoFixed assertion range on times_to_ping
Guilherme Maciel Ferreira [Mon, 7 Mar 2011 14:30:28 +0000]
Fixed assertion range on times_to_ping

14 years agoChanged integer types from std::size_t to uint, where it is required ordinary numbers
Guilherme Maciel Ferreira [Mon, 7 Mar 2011 09:17:18 +0000]
Changed integer types from std::size_t to uint, where it is required ordinary numbers

14 years agoMore information in the Readme file
Guilherme Maciel Ferreira [Fri, 4 Mar 2011 16:22:51 +0000]
More information in the Readme file

14 years agoThe app reads a list of hosts instead of just one
Guilherme Maciel Ferreira [Fri, 4 Mar 2011 15:14:59 +0000]
The app reads a list of hosts instead of just one
Caveat: it pings the host sequentially, this is not the desirable behavior

14 years agoRemoved all namespace's "using" from header files (check C++ Coding Standards #59)
Guilherme Maciel Ferreira [Thu, 3 Mar 2011 16:33:11 +0000]
Removed all namespace's "using" from header files (check C++ Coding Standards #59)
- writing headers with full namespace qualifiers to avoid type collision
- writing "using" only in implementation files to save namespace qualifier writing

14 years agoRenamed config directory to conf, in order to avoid confusion with the directory...
Guilherme Maciel Ferreira [Thu, 3 Mar 2011 16:30:11 +0000]
Renamed config directory to conf, in order to avoid confusion with the directory name inside src

14 years agoMoved ICMP abstraction classes to the icmp directory, leaving the ping directory...
Guilherme Maciel Ferreira [Thu, 3 Mar 2011 15:15:10 +0000]
Moved ICMP abstraction classes to the icmp directory, leaving the ping directory only for ping classes

14 years agoMoved PingCheck class to its own file, replaced the old one with a new semantic.
Guilherme Maciel Ferreira [Thu, 3 Mar 2011 10:38:24 +0000]
Moved PingCheck class to its own file, replaced the old one with a new semantic.

14 years agoThe program now pings in configured intervals
Guilherme Maciel Ferreira [Wed, 2 Mar 2011 16:53:00 +0000]
The program now pings in configured intervals
- the code is functional, but requires improvements!

14 years agoOrganizing the member functions according to the IPv4 header description
Guilherme Maciel Ferreira [Wed, 2 Mar 2011 16:51:47 +0000]
Organizing the member functions according to the IPv4 header description

14 years agoAvoiding unamed variables (they kill readability)
Guilherme Maciel Ferreira [Wed, 2 Mar 2011 16:50:32 +0000]
Avoiding unamed variables (they kill readability)

14 years agoPinger interface now allows to specify the number of pings to perform
Guilherme Maciel Ferreira [Tue, 1 Mar 2011 15:01:57 +0000]
Pinger interface now allows to specify the number of pings to perform

14 years agoDefined a rule for variable and constant numeric types
Guilherme Maciel Ferreira [Tue, 1 Mar 2011 14:58:00 +0000]
Defined a rule for variable and constant numeric types
- using std::size_t for ordinary integers, those that do not impose size constraints
- using uint32_t, uint16_t or uint_8_t for integers which require specific sizes

14 years agoCreated an ICMP packet class abstraction and modularizing the BoostPinger
Guilherme Maciel Ferreira [Mon, 28 Feb 2011 13:59:17 +0000]
Created an ICMP packet class abstraction and modularizing the BoostPinger
- Hide the ICMP packet management from BoostPinger class
- Split functionality in other methods (e.g send_echo_request() and print_echo_reply()

14 years agoThe method BoostPinger::get_identifier() is not static anymore, this allows to have...
Guilherme Maciel Ferreira [Mon, 28 Feb 2011 10:49:31 +0000]
The method BoostPinger::get_identifier() is not static anymore, this allows to have more than one BoostPinger object at the same time

14 years agoRenamed IcmpBody to IcmpData according to the RFC 792 (Echo or Echo Reply Message...
Guilherme Maciel Ferreira [Mon, 28 Feb 2011 10:30:47 +0000]
Renamed IcmpBody to IcmpData according to the RFC 792 (Echo or Echo Reply Message section)

14 years agoChanged the ping() method interface, which requires just a destination string instead...
Guilherme Maciel Ferreira [Mon, 28 Feb 2011 09:06:00 +0000]
Changed the ping() method interface, which requires just a destination string instead of a whole Host object

14 years agoThe BoostPinger now pings N times, instead of infinite pinging
Guilherme Maciel Ferreira [Mon, 28 Feb 2011 08:31:09 +0000]
The BoostPinger now pings N times, instead of infinite pinging
- moved the io_service calls to inside the BoostPinger
- splited the BoostPinger::start_send(), the code responsible to send is inside BoostPinger::send()

14 years agoRenamed the ipv4_header files to ipv4header, removed the '_' to keep the project...
Guilherme Maciel Ferreira [Fri, 25 Feb 2011 11:10:30 +0000]
Renamed the ipv4_header files to ipv4header, removed the '_' to keep the project standard

14 years agoRenamed the ipv4_header files to ipv4header, removed the '_' to keep the project...
Guilherme Maciel Ferreira [Fri, 25 Feb 2011 11:10:30 +0000]
Renamed the ipv4_header files to ipv4header, removed the '_' to keep the project standard

14 years agoRead the interval between each ping to the host
Guilherme Maciel Ferreira [Fri, 25 Feb 2011 11:01:05 +0000]
Read the interval between each ping to the host

14 years agoRefactored the checksum calculation and IcmpHeader class
Guilherme Maciel Ferreira [Fri, 25 Feb 2011 10:56:32 +0000]
Refactored the checksum calculation and IcmpHeader class
- Included the checksum in the IcmpHeader constructor
- Created a type for ICMP package body, namely Icmpbody
- Transformed the compute_checksum template function into a template class, ChecksumCalculator, and defined an specialization type, namely IcmpChecksumCalculator

14 years agoRenamed the icmp_header files to icmpheader, removed the '_' to keep the project...
Guilherme Maciel Ferreira [Fri, 25 Feb 2011 10:32:02 +0000]
Renamed the icmp_header files to icmpheader, removed the '_' to keep the project standard

14 years agoAdded a constructor with arguments and reinforce the "ICMP type" variable's type
Guilherme Maciel Ferreira [Thu, 24 Feb 2011 15:13:33 +0000]
Added a constructor with arguments and reinforce the "ICMP type" variable's type

14 years agoThe header classes operate on specific data sizes, thus using types with named sizes...
Guilherme Maciel Ferreira [Thu, 24 Feb 2011 14:23:00 +0000]
The header classes operate on specific data sizes, thus using types with named sizes on it states clear which size of the data is expected

14 years agoKeep together the getters and setters who operate on the same data, this is the proje...
Guilherme Maciel Ferreira [Thu, 24 Feb 2011 13:58:54 +0000]
Keep together the getters and setters who operate on the same data, this is the project's standard

14 years agoChanged getter and setter methods names to keep standardized (and verb+object advice...
Guilherme Maciel Ferreira [Thu, 24 Feb 2011 13:46:58 +0000]
Changed getter and setter methods names to keep standardized (and verb+object advice from chapter 7 of code complete)

14 years agoReorganization of the ConfigurationReader class interface
Guilherme Maciel Ferreira [Wed, 23 Feb 2011 16:19:45 +0000]
Reorganization of the ConfigurationReader class interface
- Sticking methods together
- Providing more descriptive name to some methods
- Adding new methods to encapsulate some functionalities

14 years agoExecutable has the same name as the project
Guilherme Maciel Ferreira [Wed, 23 Feb 2011 14:55:08 +0000]
Executable has the same name as the project

14 years agoMoved boost library search to the main CMakeLists.txt file, so cmake knows right...
Guilherme Maciel Ferreira [Wed, 23 Feb 2011 14:22:05 +0000]
Moved boost library search to the main CMakeLists.txt file, so cmake knows right from the beginning which libraries are required

14 years agoRenamed variables and constants to stick with company's coding style
Guilherme Maciel Ferreira [Wed, 23 Feb 2011 09:49:21 +0000]
Renamed variables and constants to stick with company's coding style

14 years agoReading host name from file. This first attempt pings just one host
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 16:17:50 +0000]
Reading host name from file. This first attempt pings just one host

14 years agoImproved Host interface by including const parameters and assertions
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 16:12:40 +0000]
Improved Host interface by including const parameters and assertions

14 years agoConfig file clean up (KISS)
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 15:03:45 +0000]
Config file clean up (KISS)

14 years agoSource code ornamentation
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 15:01:32 +0000]
Source code ornamentation

14 years agoAdded assertions to document interface assumptions
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 14:59:30 +0000]
Added assertions to document interface assumptions

14 years agoImproved configuration classes abstraction and source code
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 14:51:35 +0000]
Improved configuration classes abstraction and source code
- Replaced magic strings by named constants
- Renamed ConfigurationReader::read() to ConfigurationReader::parse() according to the interface provided by other methods
- Added a method to fill the Configuration object
- Sorry for sending too many changes in the same commit =(

14 years agoProject name #define is sent to source code in compile time
Guilherme Maciel Ferreira [Tue, 22 Feb 2011 14:47:51 +0000]
Project name #define is sent to source code in compile time

14 years agoIncluded the default configuration file
Guilherme Maciel Ferreira [Mon, 21 Feb 2011 13:56:54 +0000]
Included the default configuration file