mirror of
https://github.com/google/santa.git
synced 2026-01-14 08:47:57 -05:00
This adds a full functional test for starting up an SNTApplication (with as few mocks as possible) and executing it with a directly recorded & collected EndpointSecurity event. This also fixes a potential race condition and segfault on Santa startup: due to es_subscribe being called first, it's possible for an es event to arrive before listenForDecisionRequests or listenForLogRequests are called, causing the SNTEndpointSecurityManager callbacks to call a nil pointer.
41 lines
1.3 KiB
Objective-C
41 lines
1.3 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 <Foundation/Foundation.h>
|
|
|
|
// This is imported in the header rather than implementation to save
|
|
// classes that use this one from also having to import FMDB stuff.
|
|
#import <fmdb/FMDB.h>
|
|
|
|
@class SNTConfigTable;
|
|
@class SNTEventTable;
|
|
@class SNTRuleTable;
|
|
|
|
///
|
|
/// Provides methods to get an instance of one of the database table controllers with a
|
|
/// pre-configured database queue.
|
|
///
|
|
@interface SNTDatabaseController : NSObject
|
|
|
|
///
|
|
/// Returns an instance of the respective table class initialized with an appropriate
|
|
/// database queue. Will initialize only once, regardless of calling thread.
|
|
///
|
|
+ (SNTEventTable *)eventTable;
|
|
+ (SNTRuleTable *)ruleTable;
|
|
|
|
+ (NSString *const)databasePath;
|
|
|
|
@end
|