[PATCH 1/2] taskschd: Added ITriggerCollection::Create implementation.

Dmitry Timoshkov dmitry at baikal.ru
Tue Oct 18 20:46:09 CDT 2016


Jacek Caban <jacek at codeweavers.com> wrote:

> +    if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IDispatch, riid) || IsEqualGUID(&IID_ITrigger, riid)
> +       || IsEqualGUID(&IID_IDailyTrigger, riid)) {
> +        *ppv = &This->IDailyTrigger_iface;
> +    }else {

Please try to follow the style of the existing code for placing braces,
add space between if and (, } and else, and split the above line of
comparisons.

> @@ -144,8 +373,29 @@ static HRESULT WINAPI TriggerCollection_get__NewEnum(ITriggerCollection *iface,
>  static HRESULT WINAPI TriggerCollection_Create(ITriggerCollection *iface, TASK_TRIGGER_TYPE2 type, ITrigger **trigger)
>  {
>      trigger_collection *This = impl_from_ITriggerCollection(iface);
> -    FIXME("(%p)->(%d %p)\n", This, type, trigger);
> -    return E_NOTIMPL;
> +
> +    TRACE("(%p)->(%d %p)\n", This, type, trigger);
> +
> +    switch(type) {
> +    case TASK_TRIGGER_DAILY: {
> +        DailyTrigger *daily_trigger;
> +
> +        daily_trigger = heap_alloc(sizeof(*daily_trigger));
> +        if(!daily_trigger)
> +            return E_OUTOFMEMORY;
> +
> +        daily_trigger->IDailyTrigger_iface.lpVtbl = &DailyTrigger_vtbl;
> +        daily_trigger->ref = 1;
> +
> +        *trigger = (ITrigger*)&daily_trigger->IDailyTrigger_iface;
> +        break;
> +    }
> +    default:
> +        FIXME("Unimplemented type %d\n", type);
> +        return E_NOTIMPL;
> +    }

Please add a global constructor for the triggger, and use it here.

-- 
Dmitry.



More information about the wine-devel mailing list