#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstTag.Flags
(
TagLicenseFlags(..) ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
data TagLicenseFlags =
TagLicenseFlagsPermitsReproduction
| TagLicenseFlagsPermitsDistribution
| TagLicenseFlagsPermitsDerivativeWorks
| TagLicenseFlagsPermitsSharing
| TagLicenseFlagsRequiresNotice
| TagLicenseFlagsRequiresAttribution
| TagLicenseFlagsRequiresShareAlike
| TagLicenseFlagsRequiresSourceCode
| TagLicenseFlagsRequiresCopyleft
| TagLicenseFlagsRequiresLesserCopyleft
| TagLicenseFlagsProhibitsCommercialUse
| TagLicenseFlagsProhibitsHighIncomeNationUse
| TagLicenseFlagsCreativeCommonsLicense
| TagLicenseFlagsFreeSoftwareFoundationLicense
| AnotherTagLicenseFlags Int
deriving (Int -> TagLicenseFlags -> ShowS
[TagLicenseFlags] -> ShowS
TagLicenseFlags -> String
(Int -> TagLicenseFlags -> ShowS)
-> (TagLicenseFlags -> String)
-> ([TagLicenseFlags] -> ShowS)
-> Show TagLicenseFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TagLicenseFlags -> ShowS
showsPrec :: Int -> TagLicenseFlags -> ShowS
$cshow :: TagLicenseFlags -> String
show :: TagLicenseFlags -> String
$cshowList :: [TagLicenseFlags] -> ShowS
showList :: [TagLicenseFlags] -> ShowS
Show, TagLicenseFlags -> TagLicenseFlags -> Bool
(TagLicenseFlags -> TagLicenseFlags -> Bool)
-> (TagLicenseFlags -> TagLicenseFlags -> Bool)
-> Eq TagLicenseFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TagLicenseFlags -> TagLicenseFlags -> Bool
== :: TagLicenseFlags -> TagLicenseFlags -> Bool
$c/= :: TagLicenseFlags -> TagLicenseFlags -> Bool
/= :: TagLicenseFlags -> TagLicenseFlags -> Bool
Eq)
instance P.Enum TagLicenseFlags where
fromEnum :: TagLicenseFlags -> Int
fromEnum TagLicenseFlags
TagLicenseFlagsPermitsReproduction = Int
1
fromEnum TagLicenseFlags
TagLicenseFlagsPermitsDistribution = Int
2
fromEnum TagLicenseFlags
TagLicenseFlagsPermitsDerivativeWorks = Int
4
fromEnum TagLicenseFlags
TagLicenseFlagsPermitsSharing = Int
8
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresNotice = Int
256
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresAttribution = Int
512
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresShareAlike = Int
1024
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresSourceCode = Int
2048
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresCopyleft = Int
4096
fromEnum TagLicenseFlags
TagLicenseFlagsRequiresLesserCopyleft = Int
8192
fromEnum TagLicenseFlags
TagLicenseFlagsProhibitsCommercialUse = Int
65536
fromEnum TagLicenseFlags
TagLicenseFlagsProhibitsHighIncomeNationUse = Int
131072
fromEnum TagLicenseFlags
TagLicenseFlagsCreativeCommonsLicense = Int
16777216
fromEnum TagLicenseFlags
TagLicenseFlagsFreeSoftwareFoundationLicense = Int
33554432
fromEnum (AnotherTagLicenseFlags Int
k) = Int
k
toEnum :: Int -> TagLicenseFlags
toEnum Int
1 = TagLicenseFlags
TagLicenseFlagsPermitsReproduction
toEnum Int
2 = TagLicenseFlags
TagLicenseFlagsPermitsDistribution
toEnum Int
4 = TagLicenseFlags
TagLicenseFlagsPermitsDerivativeWorks
toEnum Int
8 = TagLicenseFlags
TagLicenseFlagsPermitsSharing
toEnum Int
256 = TagLicenseFlags
TagLicenseFlagsRequiresNotice
toEnum Int
512 = TagLicenseFlags
TagLicenseFlagsRequiresAttribution
toEnum Int
1024 = TagLicenseFlags
TagLicenseFlagsRequiresShareAlike
toEnum Int
2048 = TagLicenseFlags
TagLicenseFlagsRequiresSourceCode
toEnum Int
4096 = TagLicenseFlags
TagLicenseFlagsRequiresCopyleft
toEnum Int
8192 = TagLicenseFlags
TagLicenseFlagsRequiresLesserCopyleft
toEnum Int
65536 = TagLicenseFlags
TagLicenseFlagsProhibitsCommercialUse
toEnum Int
131072 = TagLicenseFlags
TagLicenseFlagsProhibitsHighIncomeNationUse
toEnum Int
16777216 = TagLicenseFlags
TagLicenseFlagsCreativeCommonsLicense
toEnum Int
33554432 = TagLicenseFlags
TagLicenseFlagsFreeSoftwareFoundationLicense
toEnum Int
k = Int -> TagLicenseFlags
AnotherTagLicenseFlags Int
k
instance P.Ord TagLicenseFlags where
compare :: TagLicenseFlags -> TagLicenseFlags -> Ordering
compare TagLicenseFlags
a TagLicenseFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (TagLicenseFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TagLicenseFlags
a) (TagLicenseFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TagLicenseFlags
b)
type instance O.ParentTypes TagLicenseFlags = '[]
instance O.HasParentTypes TagLicenseFlags
foreign import ccall "gst_tag_license_flags_get_type" c_gst_tag_license_flags_get_type ::
IO GType
instance B.Types.TypedObject TagLicenseFlags where
glibType :: IO GType
glibType = IO GType
c_gst_tag_license_flags_get_type
instance B.Types.BoxedFlags TagLicenseFlags
instance IsGFlag TagLicenseFlags