public static function constructExtended($ieee_address, $start_index = 0x0)
 {
     $frame = new self();
     $frame->setRequestType(self::REQUEST_TYPE_EXTENDED);
     $frame->setIeeeAddress($ieee_address);
     $frame->setStartIndex($start_index);
     return $frame;
 }
 public static function constructExtended($nwk_addr_of_interest, $endpoint, $start_index)
 {
     $frame = new self();
     $frame->setNwkAddressOfInterest($nwk_addr_of_interest);
     $frame->setEndpoint($endpoint);
     $frame->setStartIndex($start_index);
     return $frame;
 }
 public static function constructSuccess($routing_table_entries, $start_index, $routing_table_list)
 {
     $frame = new self();
     $frame->setStatus(Status::SUCCESS);
     $frame->setRoutingTableEntries($routing_table_entries);
     $frame->setStartIndex($start_index);
     $frame->setRoutingTableList($routing_table_list);
     return $frame;
 }
 public static function constructFailure($status, $nwk_addr_of_interest, $endpoint, $app_input_cluster_count, $app_output_cluster_count, $start_index)
 {
     $frame = new self();
     $frame->setStatus($status);
     $frame->setNwkAddrOfInterest($nwk_addr_of_interest);
     $frame->setEndpoint($endpoint);
     $frame->setAppInputClusterCount($app_input_cluster_count);
     $frame->setAppOutputClusterCount($app_output_cluster_count);
     $frame->setStartIndex($start_index);
     return $frame;
 }
Example #5
0
 public static function extract(array $parameters)
 {
     $filter = new self();
     $fields = isset($parameters['fields']) ? $parameters['fields'] : null;
     $startIndex = isset($parameters['startIndex']) ? $parameters['startIndex'] : null;
     $count = isset($parameters['count']) ? $parameters['count'] : null;
     $sortBy = isset($parameters['sortBy']) ? $parameters['sortBy'] : null;
     $sortOrder = isset($parameters['sortOrder']) ? $parameters['sortOrder'] : null;
     $filterBy = isset($parameters['filterBy']) ? $parameters['filterBy'] : null;
     $filterOp = isset($parameters['filterOp']) ? $parameters['filterOp'] : null;
     $filterValue = isset($parameters['filterValue']) ? $parameters['filterValue'] : null;
     $updatedSince = isset($parameters['updatedSince']) ? $parameters['updatedSince'] : null;
     if (!empty($fields)) {
         $parts = explode(',', $fields);
         $fields = array();
         foreach ($parts as $field) {
             $field = trim($field);
             if (strlen($field) > 0 && strlen($field) < 32 && ctype_alnum($field)) {
                 $fields[] = $field;
             }
         }
     } else {
         $fields = null;
     }
     $filter->setFields($fields);
     $startIndex = (int) $startIndex;
     if (!empty($startIndex) && $startIndex > 0) {
         $filter->setStartIndex($startIndex);
     }
     $count = (int) $count;
     if (!empty($count) && $count > 0) {
         $filter->setCount($count);
     }
     if (!empty($sortBy) && strlen($sortBy) < 128) {
         $filter->setSortBy($sortBy);
     }
     if (!empty($sortOrder)) {
         switch (strtolower($sortOrder)) {
             case 'asc':
             case 'ascending':
                 $filter->setSortOrder(Sql::SORT_ASC);
                 break;
             case 'desc':
             case 'descending':
                 $filter->setSortOrder(Sql::SORT_DESC);
                 break;
         }
     }
     if (!empty($filterBy) && ctype_alnum($filterBy) && strlen($filterBy) < 32) {
         $filter->setFilterBy($filterBy);
     }
     if (!empty($filterOp) && in_array($filterOp, array('contains', 'equals', 'startsWith', 'present'))) {
         $filter->setFilterOp($filterOp);
     }
     if (!empty($filterValue) && strlen($filterValue) < 128) {
         $filter->setFilterValue($filterValue);
     }
     if (!empty($updatedSince)) {
         $filter->setUpdatedSince(new \DateTime($updatedSince));
     }
     return $filter;
 }