/* * Copyright 2015-2015 Amazon.com, Inc. or its affiliates. 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. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using ThirdParty.Json.LitJson; namespace Amazon.MobileAnalytics.MobileAnalyticsManager.Internal { /// /// The interface for managing events storage. /// public interface IEventStore:IDisposable { /// /// Add an event to the store. /// /// Amazon Mobile Analytics event in string. /// Amazon Mobile Analytics App ID. /// true, if event was put, false otherwise. void PutEvent(string value, string appId); /// /// Get events from the Event Store /// /// Amazon Mobile Analytics App Id. /// Max number of events is allowed to return. /// The events as a List of . List GetEvents(string appid, int maxAllowed); /// /// Deletes a list of events. /// /// List of row identifiers. /// true, if events was deleted, false otherwise. void DeleteEvent(List rowIds); /// /// Gets Numbers the of events. /// /// Amazon Mobile Analytics App Identifier. /// The number of events. long NumberOfEvents(string appId); /// /// Gets the size of the database. /// /// The database size. long DatabaseSize { get; } } }