--===============2135257922== Content-Type: multipart/alternative; boundary=0016361e892ae1d964046e337f05 --0016361e892ae1d964046e337f05 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2009/7/7 Kevin Ottens > On Thursday 2 July 2009 22:15:07 Ozan =C3=87a=C4=9Flayan wrote: > > Where can I find the complete reference of the predicate rules used in > > solid device action files? > > It's currently missing. And for sure it'd deserve a page on techbase. > Unfortunately no one stepped up for it yet, and I'm lacking the time and > motivation to do it myself. > > The syntax is quite simple though, there's not that many constructs: > * "[ termA OR termB ]" or "[ termA AND termB ]" for logical combinations= ; > * "Interface.property =3D=3D value" to match a given value for a given > property > if the given Interface is supported by the device; > * "Interface.property & value" to match a given value but using the bina= ry > AND operator (checking if property has the value flag set). > > And then the | operator that you ask for below: > > > I'm seeing different usages of different > > operators in many projects but I can't get the expected results when I > > evaluate them using solid-hardware. One such example is the pipe > operator: > > > > $ solid-hardware query "foo.bar =3D=3D 'PropertyX|PropertyY'" > > Those are enums/flags values, so the syntax closely follow the C++ one by > using a binary OR operator (pipe operator in C/C++). > > > looking at it, one can think that | acts like an OR operator between > > PropertyX and PropertyY but that doesn't work in that way, so I wonder > > what's the aim of that operator. > > It exactly acts like an OR operator, but the binary one so foo.bar =3D=3D= 'X|Y' > means that foo.bar should have both X and Y. > I committed an example called tutorial7 under the examples folder that should be a good starting point. Chris --0016361e892ae1d964046e337f05 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

2009/7/7 Kevin Ottens <ervin@kde.org>
On Thursday 2 July 2009 22:15:07 Ozan =C3=87a=C4=9Flayan = wrote:
> Where can I find the complete reference of the predicate rul= es used in
> solid device action files?

It's current= ly missing. And for sure it'd deserve a page on techbase.
Unfortunately no one stepped up for it yet, and I'm lacking the time an= d
motivation to do it myself.

The syntax is quite simple though, = there's not that many constructs:
=C2=A0* "[ termA OR termB ]&q= uot; or "[ termA AND termB ]" for logical combinations;
=C2=A0* "Interface.property =3D=3D value" to match a given value = for a given property
if the given Interface is supported by the device;<= br>=C2=A0* "Interface.property & value" to match a given valu= e but using the binary
AND operator (checking if property has the value flag set).

And then= the | operator that you ask for below:

> I'm seeing different usages of different
= > operators in many projects but I can't get the expected results wh= en I
> evaluate them using solid-hardware. One such example is the pi= pe operator:
>
> $ solid-hardware query "foo.bar =3D=3D 'PropertyX|Pro= pertyY'"

Those are enums/flags values, so the syntax = closely follow the C++ one by
using a binary OR operator (pipe operator = in C/C++).

> looking at it, one can think that | acts like an= OR operator between
> PropertyX and PropertyY but that doesn't w= ork in that way, so I wonder
> what's the aim of that operator.
It exactly acts like an OR operator, but the binary one so foo.ba= r =3D=3D 'X|Y'
means that foo.bar should have both X and Y.
<= /blockquote>
I committed an example called tutorial7 under the examples folder that= should be a good starting point.
Chris
--0016361e892ae1d964046e337f05-- --===============2135257922== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kde-hardware-devel mailing list Kde-hardware-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-hardware-devel --===============2135257922==--