protocol-buffers-2.4.4: Parse Google Protocol Buffer specifications

Safe HaskellNone
LanguageHaskell98

Text.ProtocolBuffers.Unknown

Description

This module add unknown field support to the library. There are no user API things here, except for advanced spelunking into the data structures which can and have changed with no notice. Importer beware.

Synopsis

Documentation

newtype UnknownField Source #

This is a suposedly opaque type

Instances

Eq UnknownField Source # 
Data UnknownField Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnknownField -> c UnknownField #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnknownField #

toConstr :: UnknownField -> Constr #

dataTypeOf :: UnknownField -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c UnknownField) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnknownField) #

gmapT :: (forall b. Data b => b -> b) -> UnknownField -> UnknownField #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnknownField -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnknownField -> r #

gmapQ :: (forall d. Data d => d -> u) -> UnknownField -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnknownField -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnknownField -> m UnknownField #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnknownField -> m UnknownField #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnknownField -> m UnknownField #

Ord UnknownField Source # 
Read UnknownField Source # 
Show UnknownField Source # 
Default UnknownField Source # 
Mergeable UnknownField Source # 

class UnknownMessage msg where Source #

Messages that can store unknown fields implement this interface. UnknownField is a supposedly opaque type.

Minimal complete definition

getUnknownField, putUnknownField

data UnknownFieldValue Source #

Constructors

UFV !WireTag !ByteString 

Instances

Eq UnknownFieldValue Source # 
Data UnknownFieldValue Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UnknownFieldValue -> c UnknownFieldValue #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UnknownFieldValue #

toConstr :: UnknownFieldValue -> Constr #

dataTypeOf :: UnknownFieldValue -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c UnknownFieldValue) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UnknownFieldValue) #

gmapT :: (forall b. Data b => b -> b) -> UnknownFieldValue -> UnknownFieldValue #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UnknownFieldValue -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UnknownFieldValue -> r #

gmapQ :: (forall d. Data d => d -> u) -> UnknownFieldValue -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UnknownFieldValue -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UnknownFieldValue -> m UnknownFieldValue #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UnknownFieldValue -> m UnknownFieldValue #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UnknownFieldValue -> m UnknownFieldValue #

Ord UnknownFieldValue Source # 
Read UnknownFieldValue Source # 
Show UnknownFieldValue Source # 

wireSizeUnknownField :: UnknownField -> WireSize Source #

This is used by the generated code

wirePutUnknownField :: UnknownField -> Put Source #

This is used by the generated code

catch'Unknown :: (Typeable a, UnknownMessage a) => (WireTag -> a -> Get a) -> WireTag -> a -> Get a Source #

This is used by the generated code