00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_CAPABILITY_CAPTRAITS_H 00013 #define ZYPP_CAPABILITY_CAPTRAITS_H 00014 00015 #include "zypp/base/PtrTypes.h" 00016 #include "zypp/base/KindOf.h" 00017 00019 namespace zypp 00020 { 00021 00022 class Capability; 00023 00025 namespace capability 00026 { 00027 00029 struct CapabilityTraits 00030 { 00031 typedef KindOf<Capability> KindType; 00032 }; 00033 00034 class NullCap; 00035 class FileCap; 00036 class NamedCap; 00037 class VersionedCap; 00038 class SplitCap; 00039 class HalCap; 00040 class ModaliasCap; 00041 class OrCap; 00042 class ConditionalCap; 00043 00045 template<typename _Cap> 00046 struct CapTraits : public CapabilityTraits 00047 { 00048 static const KindType kind; 00049 }; 00050 00052 } // namespace capability 00055 } // namespace zypp 00057 #endif // ZYPP_CAPABILITY_CAPTRAITS_H