1-- |
2-- Module      : Data.ASN1.OID
3-- License     : BSD-style
4-- Maintainer  : Vincent Hanquez <vincent@snarc.org>
5-- Stability   : experimental
6-- Portability : unknown
7--
8{-# LANGUAGE DeriveDataTypeable #-}
9module Data.ASN1.OID
10    ( OID
11    -- * classes
12    , OIDable(..)
13    , OIDNameable(..)
14    ) where
15
16-- | Standard ASN.1 Object ID (OID)
17type OID = [Integer]
18
19-- | Class of things that have an Object ID
20class OIDable a where
21    -- | return the object ID of an Object from the ObjectIdentifiable class.
22    getObjectID :: a -> OID
23
24-- | Class of things that can be named by Object ID
25class OIDNameable a where
26    -- | Try to convert an OID into an Object
27    fromObjectID :: OID -> Maybe a
28