#ifndef __VALUE_2_OS_H__ #define __VALUE_2_OS_H__ #include "stg/ObjectSyntax.h" template bool ValueToOS(const T & value, ObjectSyntax * objectSyntax); template <> inline bool ValueToOS(const int & value, ObjectSyntax * objectSyntax) { objectSyntax->present = ObjectSyntax_PR_simple; SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple; simpleSyntax->present = SimpleSyntax_PR_number; asn_long2INTEGER(&simpleSyntax->choice.number, value); return true; } template <> inline bool ValueToOS(const unsigned int & value, ObjectSyntax * objectSyntax) { objectSyntax->present = ObjectSyntax_PR_simple; SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple; simpleSyntax->present = SimpleSyntax_PR_number; asn_long2INTEGER(&simpleSyntax->choice.number, value); return true; } template <> inline bool ValueToOS(const long & value, ObjectSyntax * objectSyntax) { objectSyntax->present = ObjectSyntax_PR_simple; SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple; simpleSyntax->present = SimpleSyntax_PR_number; asn_long2INTEGER(&simpleSyntax->choice.number, value); return true; } template <> inline bool ValueToOS(const unsigned long & value, ObjectSyntax * objectSyntax) { objectSyntax->present = ObjectSyntax_PR_simple; SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple; simpleSyntax->present = SimpleSyntax_PR_number; asn_long2INTEGER(&simpleSyntax->choice.number, value); return true; } template <> inline bool ValueToOS(const std::string & value, ObjectSyntax * objectSyntax) { objectSyntax->present = ObjectSyntax_PR_simple; SimpleSyntax_t * simpleSyntax = &objectSyntax->choice.simple; simpleSyntax->present = SimpleSyntax_PR_string; OCTET_STRING_fromBuf(&simpleSyntax->choice.string, value.c_str(), value.length()); return true; } #endif