Dsl

Components

 * core/src/dsl/{inc, src} - service generator sources
 * core/src/dsl/{stubproject, templates} - stubproject files and templates

How to build
Run following commands:

cd /core/src/dsl qmake make

How to use
Run following commands:

./dsl project_description.g2t path_to_generated_project

If application successfuly finish its work path_to_generated_project/project_description_file_name directory will appear containing stubproject subfolder with android project.

Entities

 * trackable - entity which periodicaly send data (tags) about current user location in given channel
 * trackable name
 * isOnline = {online, offline} - trackable tag submitting policy:
 * online - tags are sended continiously
 * offline - tags are sended by groups
 * channel:
 * trackable name - name of the trackable, which will use this channel
 * channel name
 * tag number - number of tags, which will be displayed from this channel
 * monitor - entity which continiously checks tag appearing regardless to monitor condition
 * monitor name
 * monitor condition - expression with channel names,, AND/OR/JOIN operations. Monitor triggers if new tag appears in the set corresponding to the expression result.
 * server = platform url
 * database - name of the database
 * map_widget = {Google_mobile, OSM_Mobile}
 * target = {Android, J2ME}

Example service description
Below you can see example of the service description. Service description may contain comments starting with # symbol.

channel(CAR_TRACKABLE, car, 10) # Comment channel(DRIVER_TRACKABLE, driver, 10) trackable(CAR_TRACKABLE, online) trackable(DRIVER_TRACKABLE, online) monitor(channel_monitor, car) # Another comment server=http://localhost/service database=geo2tag map_widget=osm_mobile target=android