Skip to content

Commit

Permalink
refactor!: remove StatusOr<T> API (#958)
Browse files Browse the repository at this point in the history
* feat: implement BadStatusException

* refactor!: Status.AssertOk throws BadStatusException

* refactor!: remove StatusOrPoller API

* refactor!: remove StatusOrGpuBuffer API

* refactor!: remove StatusOrString API

* refactor!: remove StatusOrGpuResources API

* refactor!: remove StatusOrImageFrame API

* refactor: remove unused functions

* refactor!: remove StatusOr API
  • Loading branch information
homuler committed Jul 17, 2023
1 parent d1e7b51 commit dd4c50e
Show file tree
Hide file tree
Showing 106 changed files with 304 additions and 1,185 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_faceDetectionsStream.StartPolling().AssertOk();
_faceDetectionsStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_faceDetectionsStream.StartPolling().AssertOk();
_multiFaceLandmarksStream.StartPolling().AssertOk();
_faceRectsFromLandmarksStream.StartPolling().AssertOk();
_faceRectsFromDetectionsStream.StartPolling().AssertOk();
_faceDetectionsStream.StartPolling();
_multiFaceLandmarksStream.StartPolling();
_faceRectsFromLandmarksStream.StartPolling();
_faceRectsFromDetectionsStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_hairMaskStream.StartPolling().AssertOk();
_hairMaskStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_palmDetectionsStream.StartPolling().AssertOk();
_handRectsFromPalmDetectionsStream.StartPolling().AssertOk();
_handLandmarksStream.StartPolling().AssertOk();
_handWorldLandmarksStream.StartPolling().AssertOk();
_handRectsFromLandmarksStream.StartPolling().AssertOk();
_handednessStream.StartPolling().AssertOk();
_palmDetectionsStream.StartPolling();
_handRectsFromPalmDetectionsStream.StartPolling();
_handLandmarksStream.StartPolling();
_handWorldLandmarksStream.StartPolling();
_handRectsFromLandmarksStream.StartPolling();
_handednessStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,14 +114,14 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_poseDetectionStream.StartPolling().AssertOk();
_poseLandmarksStream.StartPolling().AssertOk();
_faceLandmarksStream.StartPolling().AssertOk();
_leftHandLandmarksStream.StartPolling().AssertOk();
_rightHandLandmarksStream.StartPolling().AssertOk();
_poseWorldLandmarksStream.StartPolling().AssertOk();
_segmentationMaskStream.StartPolling().AssertOk();
_poseRoiStream.StartPolling().AssertOk();
_poseDetectionStream.StartPolling();
_poseLandmarksStream.StartPolling();
_faceLandmarksStream.StartPolling();
_leftHandLandmarksStream.StartPolling();
_rightHandLandmarksStream.StartPolling();
_poseWorldLandmarksStream.StartPolling();
_segmentationMaskStream.StartPolling();
_poseRoiStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_faceDetectionsStream.StartPolling().AssertOk();
_faceRectStream.StartPolling().AssertOk();
_faceLandmarksWithIrisStream.StartPolling().AssertOk();
_faceDetectionsStream.StartPolling();
_faceRectStream.StartPolling();
_faceLandmarksWithIrisStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override void StartRun(ImageSource imageSource)
{
if (configType != ConfigType.OpenGLES)
{
_outputVideoStream.StartPolling().AssertOk();
_outputVideoStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_outputDetectionsStream.StartPolling().AssertOk();
_outputDetectionsStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,11 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_poseDetectionStream.StartPolling().AssertOk();
_poseLandmarksStream.StartPolling().AssertOk();
_poseWorldLandmarksStream.StartPolling().AssertOk();
_segmentationMaskStream.StartPolling().AssertOk();
_roiFromLandmarksStream.StartPolling().AssertOk();
_poseDetectionStream.StartPolling();
_poseLandmarksStream.StartPolling();
_poseWorldLandmarksStream.StartPolling();
_segmentationMaskStream.StartPolling();
_roiFromLandmarksStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public override void StartRun(ImageSource imageSource)
{
if (runningMode.IsSynchronous())
{
_segmentationMaskStream.StartPolling().AssertOk();
_segmentationMaskStream.StartPolling();
}
StartRun(BuildSidePacket(imageSource));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright (c) 2023 homuler
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.
using System;

namespace Mediapipe
{
public class BadStatusException : Exception
{
public Status.StatusCode statusCode { get; private set; }

public BadStatusException(string message) : base(message) { }

public BadStatusException(Status.StatusCode statusCode, string message) : base(message)
{
this.statusCode = statusCode;
}
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,25 @@ protected string MarshalStringFromNative(StringOutFunc f)
f(mpPtr, out var strPtr).Assert();
GC.KeepAlive(this);

return MarshalStringFromNative(strPtr);
}

protected static string MarshalStringFromNative(IntPtr strPtr)
{
var str = Marshal.PtrToStringAnsi(strPtr);
UnsafeNativeMethods.delete_array__PKc(strPtr);

return str;
}

protected static void AssertStatusOk(IntPtr statusPtr)
{
using (var status = new Status(statusPtr, true))
{
status.AssertOk();
}
}

protected bool IsResourcePresent()
{
return ptr != IntPtr.Zero;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,13 @@ public Status ObserveOutputStream(string streamName, int streamId, NativePacketC
return ObserveOutputStream(streamName, packetCallback, false, out callbackHandle);
}

public StatusOrPoller<T> AddOutputStreamPoller<T>(string streamName, bool observeTimestampBounds = false)
public OutputStreamPoller<T> AddOutputStreamPoller<T>(string streamName, bool observeTimestampBounds = false)
{
UnsafeNativeMethods.mp_CalculatorGraph__AddOutputStreamPoller__PKc_b(mpPtr, streamName, observeTimestampBounds, out var statusOrPollerPtr).Assert();
UnsafeNativeMethods.mp_CalculatorGraph__AddOutputStreamPoller__PKc_b(mpPtr, streamName, observeTimestampBounds, out var statusPtr, out var pollerPtr).Assert();

GC.KeepAlive(this);
return new StatusOrPoller<T>(statusOrPollerPtr);
AssertStatusOk(statusPtr);
return new OutputStreamPoller<T>(pollerPtr);
}

public Status Run()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public override bool Get()
return value;
}

public override StatusOr<bool> Consume()
public override bool Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override ClassificationList Get()
return classificationList;
}

public override StatusOr<ClassificationList> Consume()
public override ClassificationList Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<ClassificationList> Get()
return classificationLists;
}

public override StatusOr<List<ClassificationList>> Consume()
public override List<ClassificationList> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override Detection Get()
return detection;
}

public override StatusOr<Detection> Consume()
public override Detection Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<Detection> Get()
return detections;
}

public override StatusOr<List<Detection>> Consume()
public override List<Detection> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override FaceGeometry.FaceGeometry Get()
return geometry;
}

public override StatusOr<FaceGeometry.FaceGeometry> Consume()
public override FaceGeometry.FaceGeometry Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<FaceGeometry.FaceGeometry> Get()
return geometries;
}

public override StatusOr<List<FaceGeometry.FaceGeometry>> Consume()
public override List<FaceGeometry.FaceGeometry> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public override float[] Get()
return result;
}

public override StatusOr<float[]> Consume()
public override float[] Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public override float Get()
return value;
}

public override StatusOr<float> Consume()
public override float Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public override List<float> Get()
return result;
}

public override StatusOr<List<float>> Consume()
public override List<float> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,13 @@ public override GpuBuffer Get()
return new GpuBuffer(gpuBufferPtr, false);
}

public override StatusOr<GpuBuffer> Consume()
public override GpuBuffer Consume()
{
UnsafeNativeMethods.mp_Packet__ConsumeGpuBuffer(mpPtr, out var statusOrGpuBufferPtr).Assert();
UnsafeNativeMethods.mp_Packet__ConsumeGpuBuffer(mpPtr, out var statusPtr, out var gpuBufferPtr).Assert();

GC.KeepAlive(this);
return new StatusOrGpuBuffer(statusOrGpuBufferPtr);
AssertStatusOk(statusPtr);
return new GpuBuffer(gpuBufferPtr, true);
}

public override Status ValidateAsType()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,13 @@ public override ImageFrame Get()
return new ImageFrame(imageFramePtr, false);
}

public override StatusOr<ImageFrame> Consume()
public override ImageFrame Consume()
{
UnsafeNativeMethods.mp_Packet__ConsumeImageFrame(mpPtr, out var statusOrImageFramePtr).Assert();
UnsafeNativeMethods.mp_Packet__ConsumeImageFrame(mpPtr, out var statusPtr, out var imageFramePtr).Assert();

GC.KeepAlive(this);
return new StatusOrImageFrame(statusOrImageFramePtr);
AssertStatusOk(statusPtr);
return new ImageFrame(imageFramePtr, true);
}

public override Status ValidateAsType()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public override int Get()
return value;
}

public override StatusOr<int> Consume()
public override int Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override LandmarkList Get()
return landmarkList;
}

public override StatusOr<LandmarkList> Consume()
public override LandmarkList Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<LandmarkList> Get()
return landmarkLists;
}

public override StatusOr<List<LandmarkList>> Consume()
public override List<LandmarkList> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public override MatrixData Get()
return matrixData;
}

public override StatusOr<MatrixData> Consume()
public override MatrixData Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override NormalizedLandmarkList Get()
return normalizedLandmarkList;
}

public override StatusOr<NormalizedLandmarkList> Consume()
public override NormalizedLandmarkList Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<NormalizedLandmarkList> Get()
return normalizedLandmarkLists;
}

public override StatusOr<List<NormalizedLandmarkList>> Consume()
public override List<NormalizedLandmarkList> Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public override NormalizedRect Get()
return normalizedRect;
}

public override StatusOr<NormalizedRect> Consume()
public override NormalizedRect Consume()
{
throw new NotSupportedException();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public override List<NormalizedRect> Get()
return normalizedRects;
}

public override StatusOr<List<NormalizedRect>> Consume()
public override List<NormalizedRect> Consume()
{
throw new NotSupportedException();
}
Expand Down
Loading

0 comments on commit dd4c50e

Please sign in to comment.