/// <summary>
 ///Deserializes IpCameraState
 ///</summary>
 ///<param name="reader">the reader from which to deserialize</param>
 ///<returns>deserialized IpCameraState</returns>
 public override object Deserialize(System.IO.BinaryReader reader)
 {
     base.Deserialize(reader);
     if ((reader.ReadByte() != 0))
     {
         this._CameraImageLocation = ((global::Microsoft.Dss.Core.Utilities.DssUri)(((Microsoft.Dss.Core.IDssSerializable)(new global::Microsoft.Dss.Core.Utilities.DssUri())).Deserialize(reader)));
     }
     return(this);
 }
 /// <summary>
 ///Copies the data member values of the current IpCameraState to the specified target object
 ///</summary>
 ///<param name="target">target object (must be an instance of)</param>
 public override void CopyTo(Microsoft.Dss.Core.IDssSerializable target)
 {
     base.CopyTo(target);
     global::Microsoft.Robotics.Services.Sample.IpCamera.Proxy.IpCameraState typedTarget = ((global::Microsoft.Robotics.Services.Sample.IpCamera.Proxy.IpCameraState)(target));
     if ((this._CameraImageLocation != null))
     {
         global::Microsoft.Dss.Core.Utilities.DssUri tmp = new global::Microsoft.Dss.Core.Utilities.DssUri();
         ((Microsoft.Dss.Core.IDssSerializable)(this._CameraImageLocation)).CopyTo(((Microsoft.Dss.Core.IDssSerializable)(tmp)));
         typedTarget._CameraImageLocation = tmp;
     }
 }