Files
santa/Source/santad/SNTEventTable.h

62 lines
1.7 KiB
Objective-C

/// Copyright 2015 Google Inc. All rights reserved.
///
/// 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 "SNTDatabaseTable.h"
@class SNTNotificationMessage;
@class SNTStoredEvent;
///
/// Responsible for managing the event table.
///
@interface SNTEventTable : SNTDatabaseTable
///
/// Add event to the database.
/// @param event the event to store.
/// @return YES if event was successfully stored.
///
- (BOOL)addStoredEvent:(SNTStoredEvent *)event;
///
/// Retrieves all events in the database
/// @return NSArray of SNTStoredEvent's
///
- (NSArray *)pendingEvents;
///
/// Retrieves number of events in database without fetching every event.
/// @return Number of events in database.
///
- (NSUInteger)pendingEventsCount;
///
/// Retrieve an event from the database.
/// @return a single SNTStoredEvent.
///
- (SNTStoredEvent *)pendingEventForSHA256:(NSString *)sha256;
///
/// Delete a single event from the database using its index.
///
- (void)deleteEventWithId:(NSNumber *)id;
///
/// Delete multiple events from the database with an array of IDs.
/// @param indexes an array of event IDs.
///
- (void)deleteEventsWithIds:(NSArray *)ids;
@end