// This file was automatically generated by protocompiler
// DO NOT EDIT!
// Compiled from C2Metric.proto

#import <Foundation/Foundation.h>
#import <ProtocolBuffer/PBCodable.h>

@class SECC2MPInternalTestConfig;

#ifdef __cplusplus
#define SECC2MPDEVICEINFO_FUNCTION extern "C" __attribute__((visibility("hidden")))
#else
#define SECC2MPDEVICEINFO_FUNCTION extern __attribute__((visibility("hidden")))
#endif

__attribute__((visibility("hidden")))
@interface SECC2MPDeviceInfo : PBCodable <NSCopying>
{
    NSMutableArray<SECC2MPInternalTestConfig *> *_internalTestConfigs;
    NSString *_processName;
    NSString *_processUuid;
    NSString *_processVersion;
    NSString *_productBuild;
    NSString *_productName;
    NSString *_productType;
    NSString *_productVersion;
    NSString *_userDefaultTestName;
    BOOL _isAppleInternal;
    struct {
        int isAppleInternal:1;
    } _has;
}


@property (nonatomic, readonly) BOOL hasProductName;
@property (nonatomic, retain) NSString *productName;

@property (nonatomic, readonly) BOOL hasProductType;
@property (nonatomic, retain) NSString *productType;

@property (nonatomic, readonly) BOOL hasProductVersion;
@property (nonatomic, retain) NSString *productVersion;

@property (nonatomic, readonly) BOOL hasProductBuild;
@property (nonatomic, retain) NSString *productBuild;

@property (nonatomic) BOOL hasIsAppleInternal;
@property (nonatomic) BOOL isAppleInternal;

@property (nonatomic, readonly) BOOL hasProcessName;
@property (nonatomic, retain) NSString *processName;

@property (nonatomic, readonly) BOOL hasProcessVersion;
@property (nonatomic, retain) NSString *processVersion;

@property (nonatomic, readonly) BOOL hasProcessUuid;
@property (nonatomic, retain) NSString *processUuid;

@property (nonatomic, readonly) BOOL hasUserDefaultTestName;
@property (nonatomic, retain) NSString *userDefaultTestName;

@property (nonatomic, retain) NSMutableArray<SECC2MPInternalTestConfig *> *internalTestConfigs;
- (void)clearInternalTestConfigs;
- (void)addInternalTestConfig:(SECC2MPInternalTestConfig *)i;
- (NSUInteger)internalTestConfigsCount;
- (SECC2MPInternalTestConfig *)internalTestConfigAtIndex:(NSUInteger)idx;
+ (Class)internalTestConfigType;

// Performs a shallow copy into other
- (void)copyTo:(SECC2MPDeviceInfo *)other;

// Performs a deep merge from other into self
// If set in other, singular values in self are replaced in self
// Singular composite values are recursively merged
// Repeated values from other are appended to repeated values in self
- (void)mergeFrom:(SECC2MPDeviceInfo *)other;

SECC2MPDEVICEINFO_FUNCTION BOOL SECC2MPDeviceInfoReadFrom(__unsafe_unretained SECC2MPDeviceInfo *self, __unsafe_unretained PBDataReader *reader);

@end

