- Prepared Language resolvable.
authorMichael Andres <ma@suse.de>
Thu, 16 Feb 2006 23:12:55 +0000 (23:12 +0000)
committerMichael Andres <ma@suse.de>
Thu, 16 Feb 2006 23:12:55 +0000 (23:12 +0000)
zypp/Language.cc [new file with mode: 0644]
zypp/Language.h [new file with mode: 0644]
zypp/Makefile.am
zypp/ResTraits.cc
zypp/ResTraits.h
zypp/detail/LanguageImplIf.cc [new file with mode: 0644]
zypp/detail/LanguageImplIf.h [new file with mode: 0644]
zypp/detail/Makefile.am

diff --git a/zypp/Language.cc b/zypp/Language.cc
new file mode 100644 (file)
index 0000000..99f5681
--- /dev/null
@@ -0,0 +1,46 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/Language.cc
+ *
+*/
+#include "zypp/Language.h"
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+
+  IMPL_PTR_TYPE(Language);
+
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   METHOD NAME : Language::Language
+  //   METHOD TYPE : Ctor
+  //
+  Language::Language( const NVRAD & nvrad_r )
+  : ResObject( TraitsType::kind, nvrad_r )
+  {}
+
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   METHOD NAME : Language::~Language
+  //   METHOD TYPE : Dtor
+  //
+  Language::~Language()
+  {}
+
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   Language interface forwarded to implementation
+  //
+  ///////////////////////////////////////////////////////////////////
+
+
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
diff --git a/zypp/Language.h b/zypp/Language.h
new file mode 100644 (file)
index 0000000..1cab6c0
--- /dev/null
@@ -0,0 +1,59 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/Language.h
+ *
+*/
+#ifndef ZYPP_LANGUAGE_H
+#define ZYPP_LANGUAGE_H
+
+#include "zypp/ResObject.h"
+#include "zypp/detail/LanguageImplIf.h"
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+
+  DEFINE_PTR_TYPE(Language);
+
+  ///////////////////////////////////////////////////////////////////
+  //
+  //   CLASS NAME : Language
+  //
+  /** Language interface.
+  */
+  class Language : public ResObject
+  {
+  public:
+    typedef detail::LanguageImplIf   Impl;
+    typedef Language                 Self;
+    typedef ResTraits<Self>          TraitsType;
+    typedef TraitsType::PtrType      Ptr;
+    typedef TraitsType::constPtrType constPtr;
+
+  public:
+    // data accessors here:
+
+  protected:
+    /** Ctor */
+    Language( const NVRAD & nvrad_r );
+    /** Dtor */
+    virtual ~Language();
+
+  private:
+    /** Access implementation */
+    virtual Impl & pimpl() = 0;
+    /** Access implementation */
+    virtual const Impl & pimpl() const = 0;
+  };
+  ///////////////////////////////////////////////////////////////////
+
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
+#endif // ZYPP_LANGUAGE_H
index a40867b..4594cd7 100644 (file)
@@ -22,6 +22,7 @@ pkginclude_HEADERS = NeedAType.h \
        Dep.h           \
        Dependencies.h  \
        Edition.h       \
+       Language.h      \
        LanguageCode.h  \
        Locale.h        \
        NVR.h           \
@@ -99,6 +100,7 @@ lib@PACKAGE@_la_SOURCES = \
        Dep.cc          \
        Dependencies.cc \
        Edition.cc      \
+       Language.cc     \
        Locale.cc       \
        NVR.cc          \
        NVRA.cc         \
index 474a56b..d2a0982 100644 (file)
@@ -30,6 +30,8 @@ namespace zypp
     const ResolvableTraits::KindType ResTraits<Script>   ::kind( "Script" );
   template<>
     const ResolvableTraits::KindType ResTraits<Message>  ::kind( "Message" );
+  template<>
+    const ResolvableTraits::KindType ResTraits<Language> ::kind( "Language" );
 
   template<>
     const ResolvableTraits::KindType ResTraits<System>  ::kind( "System" );
index 07ef40f..c37514a 100644 (file)
@@ -29,6 +29,7 @@ namespace zypp
   class Patch;
   class Script;
   class Message;
+  class Language;
 
   class System;
 
diff --git a/zypp/detail/LanguageImplIf.cc b/zypp/detail/LanguageImplIf.cc
new file mode 100644 (file)
index 0000000..d1cfae7
--- /dev/null
@@ -0,0 +1,35 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/detail/LanguageImplIf.cc
+ *
+*/
+#include "zypp/detail/LanguageImplIf.h"
+#include <iostream>
+
+using namespace std;
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+  ///////////////////////////////////////////////////////////////////
+  namespace detail
+  { /////////////////////////////////////////////////////////////////
+
+    /////////////////////////////////////////////////////////////////
+    // Default implementation of LanguageImplIf attributes,
+    // as far as reasonable.
+    /////////////////////////////////////////////////////////////////
+
+
+    /////////////////////////////////////////////////////////////////
+  } // namespace detail
+  ///////////////////////////////////////////////////////////////////
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
diff --git a/zypp/detail/LanguageImplIf.h b/zypp/detail/LanguageImplIf.h
new file mode 100644 (file)
index 0000000..1dab495
--- /dev/null
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------\
+|                          ____ _   __ __ ___                          |
+|                         |__  / \ / / . \ . \                         |
+|                           / / \ V /|  _/  _/                         |
+|                          / /__ | | | | | |                           |
+|                         /_____||_| |_| |_|                           |
+|                                                                      |
+\---------------------------------------------------------------------*/
+/** \file      zypp/detail/LanguageImplIf.h
+ *
+*/
+#ifndef ZYPP_DETAIL_LANGUAGEIMPLIF_H
+#define ZYPP_DETAIL_LANGUAGEIMPLIF_H
+
+#include "zypp/detail/ResObjectImplIf.h"
+
+///////////////////////////////////////////////////////////////////
+namespace zypp
+{ /////////////////////////////////////////////////////////////////
+
+  class Language;
+
+  ///////////////////////////////////////////////////////////////////
+  namespace detail
+  { /////////////////////////////////////////////////////////////////
+
+    ///////////////////////////////////////////////////////////////////
+    //
+    // CLASS NAME : LanguageImplIf
+    //
+    /** Abstact Language implementation interface.
+    */
+    class LanguageImplIf : public ResObjectImplIf
+    {
+    public:
+      typedef Language ResType;
+
+    public:
+
+    };
+    ///////////////////////////////////////////////////////////////////
+
+    /////////////////////////////////////////////////////////////////
+  } // namespace detail
+  ///////////////////////////////////////////////////////////////////
+  /////////////////////////////////////////////////////////////////
+} // namespace zypp
+///////////////////////////////////////////////////////////////////
+#endif // ZYPP_DETAIL_LANGUAGEIMPLIF_H
index 32086d4..944e5f5 100644 (file)
@@ -14,6 +14,7 @@ detailinclude_HEADERS = \
        ResObjectImplIf.h       \
        ResObjectFactory.h      \
        PackageImplIf.h         \
+       LanguageImplIf.h        \
        SelectionImplIf.h       \
        PatternImplIf.h \
        MessageImplIf.h         \
@@ -40,6 +41,7 @@ lib@PACKAGE@_detail_la_SOURCES = \
        ResolvableImpl.cc       \
        ResObjectImplIf.cc      \
        PackageImplIf.cc        \
+       LanguageImplIf.cc       \
        SelectionImplIf.cc      \
        PatternImplIf.cc        \
        MessageImplIf.cc        \