/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #if FB_SONARKIT_ENABLED #pragma once #import namespace facebook { namespace flipper { class DispatchQueue { public: virtual void async(dispatch_block_t block) = 0; virtual ~DispatchQueue() {} }; class GCDQueue : public DispatchQueue { public: GCDQueue(dispatch_queue_t underlyingQueue) : _underlyingQueue(underlyingQueue) {} void async(dispatch_block_t block) override { dispatch_async(_underlyingQueue, block); } virtual ~GCDQueue() {} private: dispatch_queue_t _underlyingQueue; }; } // namespace flipper } // namespace facebook #endif