X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fled-pattern.vala;h=fe3446cc0f695e860471b591e4ec299d466a891f;hb=710556737dfaa0ff3bb7a3bdabf3a90219b6444a;hp=002048c5c879deb6451e33567b04044b4b6ba469;hpb=2ca525350da9f795e89901010a6ed44a4ef5fa4e;p=led-pattern-ed diff --git a/src/led-pattern.vala b/src/led-pattern.vala index 002048c..fe3446c 100644 --- a/src/led-pattern.vala +++ b/src/led-pattern.vala @@ -16,7 +16,11 @@ * along with LED Pattern Editor. If not, see . */ -class LedPattern : Object { +errordomain LedPatternError { + INVALID_PATTERN; +} + +abstract class LedPattern : Object { enum ScreenOn { DISPLAY_OFF = 0, DISPLAY_ON = 1, @@ -33,6 +37,9 @@ class LedPattern : Object { public double duration; + public abstract string dump (); + public abstract void parse (string line) throws LedPatternError; + public signal void changed (); } @@ -72,6 +79,17 @@ class LedCommand : Object { changed (); } + public virtual void go_to_start () { + type = CommandType.GO_TO_START; + changed (); + } + + public virtual void end (bool reset) { + type = CommandType.END; + steps = reset ? -255 : 0; + changed (); + } + public signal void changed (); }