/*
 * Copyright 2020 Google LLC
 *
 * 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>

#include "Crashlytics/Protogen/nanopb/crashlytics.nanopb.h"

#import "Crashlytics/Crashlytics/Models/FIRCLSInstallIdentifierModel.h"

#import <GoogleDataTransport/GoogleDataTransport.h>

/// This class is responsible for reading the persisted crash reports from disk and converting them
/// the information into the nanopb model to be used with GoogleDataTransport
@interface FIRCLSReportAdapter : NSObject <GDTCOREventDataObject>

- (instancetype)init NS_UNAVAILABLE;

/// Initializer
/// @param folderPath Path where the persisted crash files reside
/// @param googleAppID ID for the app passed in from Firebase Core
/// @param installIDModel for pulling the Crashlytics Installation UUID
- (instancetype)initWithPath:(NSString *)folderPath
                 googleAppId:(NSString *)googleAppID
              installIDModel:(FIRCLSInstallIdentifierModel *)installIDModel
                        fiid:(NSString *)fiid
                   authToken:(NSString *)authToken;
@end
