clr-typed-0.2.0: A strongly typed Haskell interface to the CLR type system

Safe HaskellNone
LanguageHaskell2010

Clr.Property

Documentation

type family PropertyAccess (t :: Type) (m :: Type) :: PropertyAccessEnum Source #

class PropertyI t m Source #

Associated Types

type PropertyTypeI t m :: Type Source #

class PropertyI (t :: Type) (m :: Type) => PropertyGetI t m where Source #

Minimal complete definition

rawGetPropI

class PropertyI (t :: Type) (m :: Type) => PropertySetI t m where Source #

Minimal complete definition

rawSetPropI

class PropertyS t m Source #

Associated Types

type PropertyTypeS t m :: Type Source #

class PropertyS (t :: Type) (m :: Type) => PropertyGetS t m where Source #

Minimal complete definition

rawGetPropS

class PropertyS (t :: Type) (m :: Type) => PropertySetS t m where Source #

Minimal complete definition

rawSetPropS

getPropI :: forall ms propertyBridge propertyHask m tBase tDerived. (MakeT ms ~ m, ResolveBaseType tDerived m ~ tBase, (tDerived `Implements` tBase) ~ True, PropertyI tBase m, PropertyGetI tBase m, BridgeType (PropertyTypeI tBase m) ~ propertyBridge, Marshal (Object tBase) (BridgeType tBase), Unmarshal propertyBridge propertyHask) => Object tDerived -> IO propertyHask Source #

setPropI :: forall ms propertyBridge propertyHask m tBase tDerived. (MakeT ms ~ m, ResolveBaseType tDerived m ~ tBase, (tDerived `Implements` tBase) ~ True, PropertyI tBase m, PropertySetI tBase m, BridgeType (PropertyTypeI tBase m) ~ propertyBridge, Marshal (Object tBase) (BridgeType tBase), Marshal propertyHask propertyBridge) => Object tDerived -> propertyHask -> IO () Source #

getPropS :: forall ms ts propertyBridge propertyHask m t. (MakeT ms ~ m, MakeT ts ~ t, PropertyS t m, PropertyGetS t m, BridgeType (PropertyTypeS t m) ~ propertyBridge, Unmarshal propertyBridge propertyHask) => IO propertyHask Source #

setPropS :: forall ms ts propertyBridge propertyHask m t. (MakeT ms ~ m, MakeT ts ~ t, PropertyS t m, PropertySetS t m, BridgeType (PropertyTypeS t m) ~ propertyBridge, Marshal propertyHask propertyBridge) => propertyHask -> IO () Source #