blob: 9332523ea7e34158579e64d2b7472969775b0c99 [file] [log] [blame]
//
// Copyright 2019 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#import <Foundation/Foundation.h>
#import "GTXArtifactImplementing.h"
/**
* @c GTXSnapshotContainer is container for all the snapshots for ease of processing.
*/
@interface GTXSnapshotContainer : NSObject
/**
* Use initWithSnapshots: instead.
*/
- (instancetype)init NS_UNAVAILABLE;
/**
* Initialize a new container object with the given snapshots.
*
* @param uniqueSnapshots Array of all unique snapshots to be part of this container.
*/
- (instancetype)initWithSnapshots:(NSArray<id<GTXArtifactImplementing>> *)uniqueSnapshots;
/**
* @return snapshot object of the given class @c cls that is in this container.
*/
- (id<GTXArtifactImplementing>)snapshotFromArtifactClass:(Class<GTXArtifactImplementing>)cls;
@end