X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=hs-rrdtool.git;a=blobdiff_plain;f=Database%2FRRDtool%2FCreate.hs;h=3c403db46f99de5ad8af3c9bfb41b90145692361;hp=a6a67fca729a31f3a5eefa750c0cc79fff45776f;hb=f34eed5749bdaf7ff7b33230557b30115ae343f3;hpb=16e0b5c01dc848105b3673a72ee6e04f8baae9d9 diff --git a/Database/RRDtool/Create.hs b/Database/RRDtool/Create.hs index a6a67fc..3c403db 100644 --- a/Database/RRDtool/Create.hs +++ b/Database/RRDtool/Create.hs @@ -91,14 +91,12 @@ data ExternalDSType -- number of messages since the last update. deriving (Show, Eq, Ord) -instance DataSource ExternalDSType - -data ExternalDataSource +data ExternalDataSource vn = ExternalDataSource { -- |The name you will use to reference this particular data -- source from an RRD. A ds name must be 1 to 19 characters -- long in the characters @[a-zA-Z0-9_]@. - edsName :: !String + edsName :: !vn -- |The type of this data source. , edsType :: !ExternalDSType -- |Defines the maximum number of seconds that may pass @@ -124,6 +122,10 @@ data ExternalDataSource } deriving (Show, Eq, Ord) +instance ( IsVarName vn ~ True + ) + => DataSource (ExternalDataSource vn) + -- |ComputedDataSource is for storing the result of a formula applied -- to other data sources in the RRD. This data source is not supplied @@ -136,10 +138,10 @@ data ExternalDataSource -- \"computed\" columns. -- -- FIXME: doc links -data ComputedDataSource e +data ComputedDataSource vn e = ComputedDataSource { -- |See 'edsName' - cdsName :: !String + cdsName :: !vn -- |rpn-expression defines the formula used to compute the -- PDPs of a COMPUTE data source from other data sources in -- the same \. It is similar to defining a CDEF argument @@ -157,16 +159,19 @@ data ComputedDataSource e } deriving (Show, Eq, Ord) -instance (IsCommonExpr e ~ True) => - DataSource (ComputedDataSource e) - +instance ( IsVarName vn ~ True + , IsCommonExpr e ~ True + ) + => DataSource (ComputedDataSource vn e) +{- dsTest = ComputedDataSource { cdsName = "foo" -- , cdsExpr = Previous :<: Const 100 -- , cdsExpr = Var "foo" :<: Const 100 , cdsExpr = AverageOf (Const 100 .*. Const 200 .*. HNil) } +-} -- |The 'createRRD' function lets you set up new Round Robin Database -- (RRD) files. The file is created at its final, full size and filled