michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #pragma once michael@0: michael@0: #include "CC_Common.h" michael@0: michael@0: extern "C" michael@0: { michael@0: #include "ccapi_types.h" michael@0: } michael@0: michael@0: namespace CSF michael@0: { michael@0: class ECC_API CC_FeatureInfo michael@0: { michael@0: public: michael@0: NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_FeatureInfo) michael@0: protected: michael@0: CC_FeatureInfo() { } michael@0: michael@0: public: michael@0: //Base class needs dtor to be declared as virtual michael@0: virtual ~CC_FeatureInfo() {}; michael@0: michael@0: /** michael@0: Get the physical button number on which this feature is configured michael@0: michael@0: @return cc_int32_t - button assgn to the feature michael@0: */ michael@0: virtual cc_int32_t getButton() = 0; michael@0: michael@0: /** michael@0: Get the featureID michael@0: michael@0: @return cc_int32_t - button assgn to the feature michael@0: */ michael@0: virtual cc_int32_t getFeatureID() = 0; michael@0: michael@0: /** michael@0: Get the feature Name michael@0: michael@0: @return string - handle of the feature created michael@0: */ michael@0: virtual std::string getDisplayName() = 0; michael@0: michael@0: /** michael@0: Get the speeddial Number michael@0: michael@0: @return string - handle of the feature created michael@0: */ michael@0: virtual std::string getSpeedDialNumber() = 0; michael@0: michael@0: /** michael@0: Get the contact michael@0: michael@0: @return string - handle of the feature created michael@0: */ michael@0: virtual std::string getContact() = 0; michael@0: michael@0: /** michael@0: Get the retrieval prefix michael@0: michael@0: @return string - handle of the feature created michael@0: */ michael@0: virtual std::string getRetrievalPrefix() = 0; michael@0: michael@0: /** michael@0: Get the feature option mask michael@0: michael@0: @return cc_int32_t - button assgn to the feature michael@0: */ michael@0: virtual cc_int32_t getFeatureOptionMask() = 0; michael@0: }; michael@0: };