GPBMessage

TODO:

  • 【未解决】研究YouTube逻辑:GPBMessage的data
  • 【已解决】研究YouTube逻辑:GPBMessage
  • 【已解决】研究YouTube逻辑:关于GBPMessage子类中protobuf属性字段和顺序的相关理解
  • 【未解决】研究YouTube逻辑:GPBMessage的parseFromData

GPBMessage类的头文件定义

header_ModuleFramework/GPBMessage.h

//
//     Generated by class-dump 3.5 (64 bit) (Debug version compiled Sep 17 2017 16:24:48).
//
//     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2015 by Steve Nygard.
//

#import <objc/NSObject.h>

#import <Module_Framework/IGListDiffable-Protocol.h>
#import <Module_Framework/NSCopying-Protocol.h>
#import <Module_Framework/NSSecureCoding-Protocol.h>
#import <Module_Framework/YTVisitable-Protocol.h>

@class GPBExtensionDescriptor, GPBFieldDescriptor, GPBUnknownFieldSet, NSMutableDictionary, NSString, YTIClientYouTubeData;

@interface GPBMessage : NSObject <IGListDiffable, YTVisitable, NSSecureCoding, NSCopying>
{
    GPBUnknownFieldSet *unknownFields_;
    NSMutableDictionary *extensionMap_;
    NSMutableDictionary *autocreatedExtensionMap_;
    GPBMessage *autocreator_;
    GPBFieldDescriptor *autocreatorField_;
    GPBExtensionDescriptor *autocreatorExtension_;
    // Error parsing type: A@, name: readOnlySemaphore_
    struct GPBMessage_Storage *messageStorage_;
}

+ (_Bool)accessInstanceVariablesDirectly;
+ (_Bool)supportsSecureCoding;
+ (_Bool)resolveClassMethod:(SEL)arg1;
+ (_Bool)resolveInstanceMethod:(SEL)arg1;
+ (id)parseDelimitedFromCodedInputStream:(id)arg1 extensionRegistry:(id)arg2 error:(id *)arg3;
+ (id)parseFromCodedInputStream:(id)arg1 extensionRegistry:(id)arg2 error:(id *)arg3;
+ (id)parseFromData:(id)arg1 extensionRegistry:(id)arg2 error:(id *)arg3;
+ (id)parseFromData:(id)arg1 error:(id *)arg2;
+ (id)message;
+ (id)descriptor;
+ (id)alloc;
+ (id)allocWithZone:(struct _NSZone *)arg1;
+ (void)initialize;
+ (id)goog_parseFromData:(id)arg1 error:(id *)arg2;
+ (id)parseFromData:(id)arg1;
+ (id)deserializeFromString:(id)arg1;
+ (_Bool)yt_failOrPopulateError:(id *)arg1 code:(unsigned long long)arg2 reason:(id)arg3;
+ (_Bool)mergeUnknownField:(int)arg1 source:(id)arg2 destination:(id)arg3 mergedUnknownFieldSet:(id)arg4 mask:(id)arg5 options:(id)arg6 error:(id *)arg7;
+ (id)unknownFieldsSetOnSource:(id)arg1 destination:(id)arg2 mask:(id)arg3;
+ (_Bool)yt_mergeUnknownFieldsFromSource:(id)arg1 destination:(id)arg2 mask:(id)arg3 options:(id)arg4 error:(id *)arg5;
+ (void)yt_overwriteExtension:(id)arg1 source:(id)arg2 destination:(id)arg3;
+ (_Bool)yt_mergeExtension:(id)arg1 source:(id)arg2 destination:(id)arg3 mask:(id)arg4 options:(id)arg5 error:(id *)arg6;
+ (id)yt_arrayOfExtensionsSetOnSource:(id)arg1 destination:(id)arg2 mask:(id)arg3;
+ (_Bool)yt_mergeExtensionsFromSource:(id)arg1 destination:(id)arg2 mask:(id)arg3 options:(id)arg4 error:(id *)arg5;
+ (void)yt_overwriteField:(id)arg1 source:(id)arg2 destination:(id)arg3 options:(id)arg4;
+ (_Bool)yt_mergeField:(id)arg1 source:(id)arg2 destination:(id)arg3 mask:(id)arg4 options:(id)arg5 error:(id *)arg6;
+ (void)yt_clearRepeatedField:(id)arg1 message:(id)arg2;
+ (void)yt_appendRepeatedField:(id)arg1 source:(id)arg2 destination:(id)arg3;
+ (id)yt_arrayOfFieldsSetOnSource:(id)arg1 destination:(id)arg2 mask:(id)arg3;
+ (_Bool)yt_mergeFieldsFromSource:(id)arg1 destination:(id)arg2 mask:(id)arg3 options:(id)arg4 error:(id *)arg5;
+ (_Bool)yt_mergeSource:(id)arg1 destination:(id)arg2 mask:(id)arg3 options:(id)arg4 error:(id *)arg5;
- (void)encodeWithCoder:(id)arg1;
- (id)initWithCoder:(id)arg1;
- (unsigned long long)serializedSize;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
- (_Bool)isEqual:(id)arg1;
- (void)mergeFrom:(id)arg1;
- (void)mergeFromCodedInputStream:(id)arg1 extensionRegistry:(id)arg2;
- (void)addUnknownMapEntry:(int)arg1 value:(id)arg2;
- (_Bool)parseUnknownField:(id)arg1 extensionRegistry:(id)arg2 tag:(unsigned int)arg3;
- (void)parseMessageSet:(id)arg1 extensionRegistry:(id)arg2;
@property(copy, nonatomic) GPBUnknownFieldSet *unknownFields;
- (void)mergeDelimitedFromCodedInputStream:(id)arg1 extensionRegistry:(id)arg2;
- (void)mergeFromData:(id)arg1 extensionRegistry:(id)arg2;
- (void)clearExtension:(id)arg1;
- (void)setExtension:(id)arg1 index:(unsigned long long)arg2 value:(id)arg3;
- (void)addExtension:(id)arg1 value:(id)arg2;
- (void)setExtension:(id)arg1 value:(id)arg2;
- (void)writeExtensionsToCodedOutputStream:(id)arg1 range:(struct GPBExtensionRange)arg2 sortedExtensions:(id)arg3;
- (id)extensionsCurrentlySet;
- (_Bool)hasExtension:(id)arg1;
- (id)getExistingExtension:(id)arg1;
- (id)getExtension:(id)arg1;
- (void)writeField:(id)arg1 toCodedOutputStream:(id)arg2;
- (void)writeDelimitedToCodedOutputStream:(id)arg1;
- (void)writeDelimitedToOutputStream:(id)arg1;
- (void)writeToCodedOutputStream:(id)arg1;
- (void)writeToOutputStream:(id)arg1;
- (id)delimitedData;
- (id)data;
- (id)descriptor;
@property(readonly, nonatomic, getter=isInitialized) _Bool initialized;
- (void)internalClear:(_Bool)arg1;
- (void)clear;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (void)copyFieldsInto:(id)arg1 zone:(struct _NSZone *)arg2 descriptor:(id)arg3;
- (void)dealloc;
- (id)initWithCodedInputStream:(id)arg1 extensionRegistry:(id)arg2 error:(id *)arg3;
- (id)initWithData:(id)arg1 extensionRegistry:(id)arg2 error:(id *)arg3;
- (id)initWithData:(id)arg1 error:(id *)arg2;
- (id)init;
- (void)yt_setLightweightProxyButton:(id)arg1;
- (id)yt_lightweightProxyButton;
- (id)yt_sectionReloadContinuation;
- (id)sectionNextContinuation;
- (id)sectionContentsForCellFactory:(id)arg1;
- (void)yt_lightweightSetVEType:(int)arg1 trackableDataElementObject:(id)arg2;
- (void)reportOneTimeVisibilityUpdateWithParentResponder:(id)arg1;
- (id)targetIDField;
- (id)tooltipTargetID;
- (_Bool)isEqualToDiffableObject:(id)arg1;
- (id)diffIdentifier;
- (void)logging_enumerateFieldDescriptorsUsingBlock:(CDUnknownBlockType)arg1;
- (id)logging_messageForFieldNumber:(unsigned long long)arg1 messageClass:(Class)arg2;
- (id)yt_trackingParams;
- (id)yt_loggingDirectives;
- (id)yt_visualElement;
@property(nonatomic, setter=yt_setShouldAttachChildProtos:) _Bool yt_shouldAttachChildProtos;
@property(retain, nonatomic, setter=yt_setDataElement:) GPBMessage *yt_dataElement;
@property(retain, nonatomic, setter=yt_setYouTubeData:) YTIClientYouTubeData *yt_youtubeData;
@property(nonatomic, setter=yt_setVECounter:) int yt_veCounter;
@property(nonatomic, setter=yt_setVEType:) int yt_veType;
- (id)sortedExtensionsCurrentlySet;
- (void)acceptExtension:(id)arg1 withVisitor:(id)arg2;
- (void)acceptVisitor:(id)arg1;
- (void)visitExtension:(id)arg1 withBlock:(CDUnknownBlockType)arg2 endBlock:(CDUnknownBlockType)arg3 stop:(_Bool *)arg4;
- (void)visitMessageTreeInPreorderWithBlock:(CDUnknownBlockType)arg1 endBlock:(CDUnknownBlockType)arg2 stop:(_Bool *)arg3;
- (void)visitMessageTreeInPreorderWithBlock:(CDUnknownBlockType)arg1 endBlock:(CDUnknownBlockType)arg2;
- (void)visitMessageTreeInPreorderWithBlock:(CDUnknownBlockType)arg1;
- (void)enumerateFieldDescriptorsUsingBlock:(CDUnknownBlockType)arg1;
- (id)mutableCopy;
- (void)forEachMessageField:(CDUnknownBlockType)arg1;
- (id)firstValue;
- (id)messageForFieldNumber:(unsigned long long)arg1;
- (id)messageForFieldNumber:(unsigned long long)arg1 messageClass:(Class)arg2;
- (id)firstSubmessage;
- (id)serializedString;
- (id)yt_messageWithMask:(id)arg1 options:(id)arg2 error:(id *)arg3;
- (id)yt_messageByMergingFromSource:(id)arg1 mask:(id)arg2 options:(id)arg3 error:(id *)arg4;
- (_Bool)yt_mergeFromSource:(id)arg1 mask:(id)arg2 options:(id)arg3 error:(id *)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly) Class superclass;

@end

results matching ""

    No results matching ""