4 filtering – TANDBERG 3.0 User Manual

Page 10

Advertising
background image

Copyright © TANDBERG 2008

Reference Guide Version 3.0 rev 3.0

6

3. If there is an enumerateID, the client should call the enumerate method again, with any parameters

that are required or desired, and an enumerateID parameter containing the ID returned by the
device from the previous call. This should be repeated while the device continues to provide new
enumerateID values in responses.

4. After all data is returned, the device will reply with all remaining results, but no enumerateID.


This method should only be called using enumerateID values as provided by the device.

2.4.4 Filtering
Enumerate functions contain an optional enumerateFilter parameter, which can be used to restrict the

responses to the enumerate call. The valid expressions depend on the function to which they are applied, but
the syntax is the same for all enumerate functions: the section in this document for each function provides a list
of valid filters for that function.

To use the filters, the expression is evaluated, with any function or expression symbols evaluated for the given
entity being enumerated (e.g. if enumerating conferences, the active expression will evaluate to true if the
conference is active, and false otherwise). If the result of evaluating the filter is true, the entity is returned to
the client. If the expression evaluates to false, the entity in question is not returned to the client and the next
entity (if any) is considered. As an example, if the expression (active && scheduled) is used when enumerating
conference, the returned conferences will be only those which are both active and scheduled.

Filters can consist of atomic expressions, joined together with operators, and brackets in the traditional

manner. Whitespace is ignored. Functions are valid, and any parameters are in a comma separated list in
brackets following the function name, for example function(expression

1

,expression2).


From a boolean perspective, the integer 0 is false, and all other numbers are true.

Integer values can be expressed using any string of valid digits, optionally prefixed by 0x for hexadecimal,
0t for decimal and 0z for binary. If no prefix is specified, decimal is assumed.

The following binary operators are valid, in order of priority (lowest priority first)
Operator

Description

||

Boolean or

&& Boolean

and

| Bitwise

or

^

Bitwise exclusive or

& Bitwise

and

== Equality
!= Inequality
< Less

than

<=

Less than or equal

>=

Greater than or equal

> Greater

than

<<

Bitwise left shift

>>

Bitwise right shift

+ Addition
- Subtraction
* Multiplication
/ Division
% Modulo

There are also the following unary operators, all of which bind tighter than any binary operator.

Advertising