14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------*
24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  ESR_SessionTypeImpl.h  *
34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the 'License');          *
74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  you may not use this file except in compliance with the License.         *
84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  You may obtain a copy of the License at                                  *
104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0                           *
114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software      *
134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  distributed under the License is distributed on an 'AS IS' BASIS,        *
144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  See the License for the specific language governing permissions and      *
164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  limitations under the License.                                           *
174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/
194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef __ESR_SESSIONTYPEIMPL_H
214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define __ESR_SESSIONTYPEIMPL_H
224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ArrayList.h"
264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_ReturnCode.h"
274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_SessionType.h"
284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_SharedPrefix.h"
294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "HashMap.h"
304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "pstdio.h"
314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * ESR_SessionType implementation data.
354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct ESR_SessionTypeData_t
374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * [key, value] pairs.
404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  HashMap* value;
424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Event listeners.
454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ArrayList* listeners;
474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SessionTypeData;
494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct ESR_SessionTypePair_t
514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Pointer to value.
544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  void* value;
564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Value type.
584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  VariableTypes type;
604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SessionPair;
624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetPropertyImpl(ESR_SessionType* self,
674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    void** value,
694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    VariableTypes type);
704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetIntImpl(ESR_SessionType* self,
744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int* value);
764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetUint16_tImpl(ESR_SessionType* self,
804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    asr_uint16_t* value);
824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetSize_tImpl(ESR_SessionType* self,
864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    size_t* value);
884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetFloatImpl(ESR_SessionType* self,
924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float* value);
944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetBoolImpl(ESR_SessionType* self,
984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL* value);
1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetLCHARImpl(ESR_SessionType* self,
1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    LCHAR* value, size_t* len);
1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeContainsImpl(ESR_SessionType* self,
1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL* exists);
1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetPropertyImpl(ESR_SessionType* self,
1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    void* value, VariableTypes type);
1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetIntImpl(ESR_SessionType* self,
1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int value);
1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetUint16_tImpl(ESR_SessionType* self,
1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    asr_uint16_t value);
1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetSize_tImpl(ESR_SessionType* self,
1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    size_t value);
1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetFloatImpl(ESR_SessionType* self,
1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float value);
1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetBoolImpl(ESR_SessionType* self,
1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL value);
1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetLCHARImpl(ESR_SessionType* self,
1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    LCHAR* value);
1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetIntIfEmptyImpl(ESR_SessionType* self,
1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int value);
1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetUint16_tIfEmptyImpl(ESR_SessionType* self,
1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    asr_uint16_t value);
1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetSize_tIfEmptyImpl(ESR_SessionType* self,
1704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    size_t value);
1724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetFloatIfEmptyImpl(ESR_SessionType* self,
1764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    float value);
1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetBoolIfEmptyImpl(ESR_SessionType* self,
1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_BOOL value);
1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeSetLCHARIfEmptyImpl(ESR_SessionType* self,
1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    LCHAR* value);
1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeRemovePropertyImpl(ESR_SessionType* self,
1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name);
1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeRemoveAndFreePropertyImpl(ESR_SessionType* self,
1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name);
2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeImportCommandLineImpl(ESR_SessionType* self,
2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int argc,
2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    LCHAR* argv[]);
2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeImportSessionImpl(ESR_SessionType* self,
2104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_SessionType* source);
2114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetSizeImpl(ESR_SessionType* self,
2154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    size_t* size);
2164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetKeyAtIndexImpl(ESR_SessionType* self,
2204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    size_t index,
2214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    LCHAR** key);
2224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeDestroyImpl(ESR_SessionType* self);
2264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeConvertToIntImpl(ESR_SessionType* self,
2304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* key);
2314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeConvertToUint16_tImpl(ESR_SessionType* self,
2354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* key);
2364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeConvertToSize_tImpl(ESR_SessionType* self,
2404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* key);
2414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeConvertToFloatImpl(ESR_SessionType* self,
2454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* key);
2464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeConvertToBoolImpl(ESR_SessionType* self,
2504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* key);
2514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeGetPropertyTypeImpl(ESR_SessionType* self,
2554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* name,
2564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    VariableTypes* type);
2574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeImportParFileImpl(ESR_SessionType* self,
2614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    const LCHAR* filename);
2624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeAddListenerImpl(ESR_SessionType* self,
2674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_SessionTypeListenerPair* listener);
2684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectESR_SHARED_API ESR_ReturnCode ESR_SessionTypeRemoveListenerImpl(ESR_SessionType* self,
2734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    ESR_SessionTypeListenerPair* listener);
2744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* __ESR_SESSIONTYPEIMPL_H */
276