#include "sqs_map.h"
#include <assert.h>
#include <stdio.h>
#include <string.h>
static void ok(int32_t status){if(status){fprintf(stderr,"%s\n",sqsm_map_last_error());assert(!status);}}
int main(void){
 sqsm_map_t map=0;sqsm_map_bytes_t out={NULL,0,0};
 assert(sqsm_map_runtime_flags()&SQSM_MAP_PLANAR_CAMERA);
 ok(sqsm_map_create(256,192,&map));
 const char *request="{\"method\":\"jumpTo\",\"args\":[{\"center\":[116.4,39.9],\"zoom\":8,\"padding\":20}]}";
 ok(sqsm_map_camera_json(map,(const uint8_t*)request,strlen(request),&out));ok(sqsm_map_bytes_free(out.allocation));
 request="{\"method\":\"getCenter\",\"args\":[]}";
 ok(sqsm_map_camera_json(map,(const uint8_t*)request,strlen(request),&out));
 printf("center: %.*s\n",(int)out.len,out.data);ok(sqsm_map_bytes_free(out.allocation));
 ok(sqsm_map_flush_json(map,0,1,&out));ok(sqsm_map_bytes_free(out.allocation));
 ok(sqsm_map_destroy(map));puts("camera C host: PASS");return 0;
}
