Can you please push this today together with the app change?
Thanks,
HansF

On 11 April 2014 12:55, Hans Nordebäck <[email protected]> wrote:
> I'll add that before pushing. /Rgds HansN
>
>
> On 04/11/14 09:39, Hans Feldt wrote:
>>
>> Ack with comment: include/Makefile.am needs to be updated for this file
>> Thanks,
>> Hans
>>
>> On 7 April 2014 10:11, Hans Nordeback <[email protected]> wrote:
>>>
>>>   osaf/services/saf/amf/amfd/include/db_template.h |  71
>>> ++++++++++++++++++++++++
>>>   1 files changed, 71 insertions(+), 0 deletions(-)
>>>
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/db_template.h
>>> b/osaf/services/saf/amf/amfd/include/db_template.h
>>> new file mode 100644
>>> --- /dev/null
>>> +++ b/osaf/services/saf/amf/amfd/include/db_template.h
>>> @@ -0,0 +1,71 @@
>>> +/*      -*- OpenSAF  -*-
>>> + *
>>> + * (C) Copyright 2014 The OpenSAF Foundation
>>> + *
>>> + * This program is distributed in the hope that it will be useful, but
>>> + * WITHOUT ANY WARRANTY; without even the implied warranty of
>>> MERCHANTABILITY
>>> + * or FITNESS FOR A PARTICULAR PURPOSE. This file and program are
>>> licensed
>>> + * under the GNU Lesser General Public License Version 2.1, February
>>> 1999.
>>> + * The complete license can be accessed from the following location:
>>> + * http://opensource.org/licenses/lgpl-license.php
>>> + * See the Copying file included with the OpenSAF distribution for full
>>> + * licensing terms.
>>> + *
>>> + * Author(s): Ericsson AB
>>> + *
>>> + */
>>> +#ifndef DB_TEMPLATE_H
>>> +#define        DB_TEMPLATE_H
>>> +
>>> +#include <map>
>>> +#include <string>
>>> +#include "ncsgl_defs.h"
>>> +
>>> +template <typename T>
>>> +class AmfDb {
>>> +  public:
>>> +   unsigned int insert(T *obj);
>>> +   void erase(T *obj);
>>> +   T *find(const SaNameT *name);
>>> +
>>> +   typedef std::map<std::string, T*> AmfDbMap;
>>> +   typedef typename AmfDbMap::const_iterator const_iterator;
>>> +
>>> +   const_iterator begin() const {return db.begin();}
>>> +   const_iterator end() const {return db.end();}
>>> +
>>> +  private:
>>> +   AmfDbMap db;
>>> +};
>>> +
>>> +template <typename T>
>>> +unsigned int AmfDb<T>::insert(T *obj) {
>>> +  osafassert(obj);
>>> +  std::string name((const char*)obj->name.value, obj->name.length);
>>> +  if (db.insert(std::make_pair(name, obj)).second) {
>>> +    return NCSCC_RC_SUCCESS;
>>> +  }
>>> +   else {
>>> +      return NCSCC_RC_FAILURE; // Duplicate
>>> +    }
>>> + }
>>> +
>>> +template <typename T>
>>> +void AmfDb<T>::erase(T *obj) {
>>> +  osafassert(obj);
>>> +  std::string name((const char*)obj->name.value, obj->name.length);
>>> +  db.erase(name);
>>> +}
>>> +
>>> +template <typename T>
>>> +T *AmfDb<T>::find(const SaNameT *dn) {
>>> +  osafassert(dn);
>>> +  std::string name((const char*)dn->value, dn->length);
>>> +  typename AmfDbMap::iterator it = db.find(name);
>>> +  if (it == db.end())
>>> +    return NULL;
>>> +  else
>>> +    return it->second;
>>> +}
>>> +
>>> +#endif /* DB_TEMPLATE_H */
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Put Bad Developers to Shame
>>> Dominate Development with Jenkins Continuous Integration
>>> Continuously Automate Build, Test & Deployment
>>> Start a new project now. Try Jenkins in the cloud.
>>> http://p.sf.net/sfu/13600_Cloudbees_APR
>>> _______________________________________________
>>> Opensaf-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/opensaf-devel
>
>

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to