lib/NSObject+DDExtensions.m
author Dave Dribin <dave@dribin.org>
Tue Jan 27 16:05:23 2009 -0600 (2009-01-27)
changeset 158 14076243f425
parent 47 66d283fa93dc
child 160 05b4f1a8852c
permissions -rw-r--r--
Update copyright header
     1 /*
     2  * Copyright (c) 2007-2009 Dave Dribin
     3  * 
     4  * Permission is hereby granted, free of charge, to any person
     5  * obtaining a copy of this software and associated documentation
     6  * files (the "Software"), to deal in the Software without
     7  * restriction, including without limitation the rights to use, copy,
     8  * modify, merge, publish, distribute, sublicense, and/or sell copies
     9  * of the Software, and to permit persons to whom the Software is
    10  * furnished to do so, subject to the following conditions:
    11  * 
    12  * The above copyright notice and this permission notice shall be
    13  * included in all copies or substantial portions of the Software.
    14  *
    15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    16  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    18  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    19  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    20  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    22  * SOFTWARE.
    23  */
    24 
    25 #import "NSObject+DDExtensions.h"
    26 #import "DDInvocationGrabber.h"
    27 
    28 @implementation NSObject (DDExtensions)
    29 
    30 - (id)dd_invokeOnMainThread;
    31 {
    32     return [self dd_invokeOnMainThreadAndWaitUntilDone:NO];
    33 }
    34 
    35 - (id)dd_invokeOnMainThreadAndWaitUntilDone:(BOOL)waitUntilDone;
    36 {
    37     DDInvocationGrabber * grabber = [DDInvocationGrabber invocationGrabber];
    38     [grabber setForwardInvokesOnMainThread:YES];
    39     [grabber setWaitUntilDone:waitUntilDone];
    40     return [grabber prepareWithInvocationTarget:self];
    41 }
    42 
    43 @end