2019-09-19 14:07:42 -04:00
|
|
|
package com.chameleonvision.vision.camera;
|
|
|
|
|
import com.google.gson.*;
|
|
|
|
|
|
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
|
|
2019-11-02 10:10:02 -07:00
|
|
|
public class CameraSerializer implements JsonSerializer<USBCamera> {
|
2019-09-19 14:07:42 -04:00
|
|
|
@Override
|
2019-11-02 10:10:02 -07:00
|
|
|
public JsonElement serialize(USBCamera USBCamera, Type type, JsonSerializationContext context) {
|
2019-09-19 14:07:42 -04:00
|
|
|
JsonObject obj = new JsonObject();
|
2019-11-02 10:10:02 -07:00
|
|
|
obj.addProperty("FOV", USBCamera.getFOV());
|
|
|
|
|
obj.addProperty("path", USBCamera.path);
|
|
|
|
|
obj.addProperty("name", USBCamera.name);
|
|
|
|
|
obj.addProperty("nickname", USBCamera.getNickname());
|
|
|
|
|
obj.addProperty("streamDivisor", USBCamera.getStreamDivisor().ordinal());
|
|
|
|
|
var pipelines = context.serialize(USBCamera.getPipelines());
|
2019-09-19 14:07:42 -04:00
|
|
|
obj.add("pipelines", pipelines);
|
2019-11-02 10:10:02 -07:00
|
|
|
obj.addProperty("resolution", USBCamera.getVideoModeIndex());
|
|
|
|
|
obj.add("camVideoMode", context.serialize(USBCamera.getVideoMode()));
|
|
|
|
|
obj.add("isDriver",context.serialize(USBCamera.getDriverMode()));
|
|
|
|
|
obj.add("driverExposure",context.serialize(USBCamera.getDriverExposure()));
|
|
|
|
|
obj.add("driverBrightness",context.serialize(USBCamera.getDriverBrightness()));
|
2019-09-19 14:07:42 -04:00
|
|
|
return obj;
|
|
|
|
|
}
|
|
|
|
|
}
|