LCOV - code coverage report
Current view: top level - Core - OOAsyncWorkManager.h (source / functions) Hit Total Coverage
Test: coverxygen.info Lines: 0 9 0.0 %
Date: 2025-05-28 07:50:54 Functions: 0 0 -

          Line data    Source code
       1           0 : /*
       2             : 
       3             : OOAsyncWorkManager.h
       4             : 
       5             : Simple thread pool/work unit manager.
       6             : 
       7             : 
       8             : Copyright (C) 2009-2013 Jens Ayton
       9             : 
      10             : Permission is hereby granted, free of charge, to any person obtaining a copy
      11             : of this software and associated documentation files (the "Software"), to deal
      12             : in the Software without restriction, including without limitation the rights
      13             : to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      14             : copies of the Software, and to permit persons to whom the Software is
      15             : furnished to do so, subject to the following conditions:
      16             : 
      17             : The above copyright notice and this permission notice shall be included in all
      18             : copies or substantial portions of the Software.
      19             : 
      20             : THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      21             : IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      22             : FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      23             : AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      24             : LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      25             : OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      26             : SOFTWARE.
      27             : 
      28             : */
      29             : 
      30             : #import "OOCocoa.h"
      31             : 
      32             : 
      33             : @class OOAsyncQueue;
      34             : 
      35             : @protocol OOAsyncWorkTask;
      36             : 
      37             : 
      38           0 : typedef enum
      39             : {
      40             :         kOOAsyncPriorityLow,
      41             :         kOOAsyncPriorityMedium,
      42             :         kOOAsyncPriorityHigh
      43             : } OOAsyncWorkPriority;
      44             : 
      45             : 
      46           0 : @interface OOAsyncWorkManager: NSObject
      47             : 
      48           0 : + (OOAsyncWorkManager *) sharedAsyncWorkManager;
      49             : 
      50           0 : - (BOOL) addTask:(id<OOAsyncWorkTask>)task priority:(OOAsyncWorkPriority)priority;
      51             : 
      52             : /*      Complete any tasks whose asynchronous portion is ready, but without waiting.
      53             : */
      54           0 : - (void) completePendingTasks;
      55             : 
      56             : /*      Wait for a task to complete.
      57             :         
      58             :         WARNING: if task is not an existing task, or does not implement
      59             :         -completeAsyncTask, this will never return.
      60             :         
      61             :         IMPORTANT: May only be called on the main thread.
      62             : */
      63           0 : - (void) waitForTaskToComplete:(id<OOAsyncWorkTask>)task;
      64             : 
      65             : @end
      66             : 
      67             : 
      68             : @protocol OOAsyncWorkTask <NSObject>
      69             : 
      70             : // Called on a worker thread. There may be multiple worker threads.
      71           0 : - (void) performAsyncTask;
      72             : 
      73             : // @optional
      74             : OOLITE_OPTIONAL(OOAsyncWorkTask)
      75             : 
      76             : /*      Called on main thread some time after -performAsyncTask completes.
      77             : */
      78           0 : - (void) completeAsyncTask;
      79             : 
      80             : @end

Generated by: LCOV version 1.14