PageRenderTime 9ms CodeModel.GetById 1ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/core/externals/update-engine/Core/KSSilentUpdateAction.h

http://macfuse.googlecode.com/
C++ Header | 55 lines | 5 code | 5 blank | 45 comment | 0 complexity | f46436516bab3ab8d1108b411ccd1048 MD5 | raw file
 1// Copyright 2008 Google Inc.
 2//
 3// Licensed under the Apache License, Version 2.0 (the "License");
 4// you may not use this file except in compliance with the License.
 5// You may obtain a copy of the License at
 6//
 7//     http://www.apache.org/licenses/LICENSE-2.0
 8//
 9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#import <Foundation/Foundation.h>
16#import "KSMultiUpdateAction.h"
17
18@class KSUpdateEngine, KSActionProcessor;
19
20// KSSilentUpdateAction
21//
22// This concrete KSMultiAction subclass that takes input from its inPipe, which
23// must be an array of product dictionaries (see KSUpdateInfo.h for more details
24// on the format), and messages the engine_'s delegate to find out which of
25// the products in the array should be installed. Based on the response from the
26// delegate, KSUpdateActions will be created and run on an internal
27// KSActionProcessor.  This action never adds any actions to the processor on
28// which it itself is running. This action finishes once all of its subactions
29// (if any) complete.
30//
31// Upon completion, this action's outPipe will contain the number of
32// KSUpdateActions enqueued, wrapped in an NSNumber.
33//
34// Sample code to create a checker and a prompt connected via a pipe.
35//
36//   KSActionProcessor *ap = ...
37//   KSUpdateCheckAction *checker = ...
38//
39//   KSAction *update = [KSSilentUpdateActionactionWithEngine:engine_];
40//
41//   KSActionPipe *pipe = [KSActionPipe pipe];
42//   [checker setOutPipe:pipe];
43//   [update setInPipe:pipe];
44//
45//   [ap enqueueAction:checker];
46//   [ap enqueueAction:update];
47// 
48//   [ap startProcessing];
49//
50// See KSUpdateEngine.m for another example of using KSSilentUpdateAction.
51@interface KSSilentUpdateAction : KSMultiUpdateAction
52
53// See KSMutliUpdateAction's interface
54
55@end