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: #include michael@0: #include michael@0: #include 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_LineInfo michael@0: { michael@0: public: michael@0: NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CC_LineInfo) michael@0: protected: michael@0: CC_LineInfo() { } michael@0: michael@0: public: michael@0: //Base class needs dtor to be declared as virtual michael@0: virtual ~CC_LineInfo() {}; michael@0: michael@0: /** michael@0: Get the line Name michael@0: michael@0: @return string - line Name michael@0: */ michael@0: virtual std::string getName() = 0; michael@0: michael@0: /** michael@0: Get the line DN Number michael@0: @return string - line DN michael@0: */ michael@0: virtual std::string getNumber() = 0; michael@0: michael@0: /** michael@0: Get the physical button number on which this line is configured michael@0: michael@0: @return cc_uint32_t - button number michael@0: */ michael@0: virtual cc_uint32_t getButton() = 0; michael@0: michael@0: /** michael@0: Get the Line Type michael@0: michael@0: @return cc_line_feature_t - line featureID ( Line ) michael@0: */ michael@0: virtual cc_line_feature_t getLineType() = 0; michael@0: michael@0: /** michael@0: michael@0: @return bool - true if phone is currently registered with CM. michael@0: */ michael@0: virtual bool getRegState() = 0; michael@0: michael@0: /** michael@0: Get the CFWDAll status for the line michael@0: michael@0: @return bool - isForwarded michael@0: */ michael@0: virtual bool isCFWDActive() = 0; michael@0: michael@0: /** michael@0: Get the CFWDAll destination michael@0: michael@0: @return string - cfwd target michael@0: */ michael@0: virtual std::string getCFWDName() = 0; michael@0: michael@0: /** michael@0: Get calls on line michael@0: michael@0: @param [in] line - line michael@0: @return vector michael@0: */ michael@0: virtual std::vector getCalls (CC_LinePtr linePtr) = 0; michael@0: michael@0: /** michael@0: Get calls on line by state michael@0: michael@0: @param [in] line - line michael@0: @param [in] state - state michael@0: michael@0: @return vector michael@0: */ michael@0: virtual std::vector getCallsByState (CC_LinePtr linePtr, cc_call_state_t state) = 0; michael@0: michael@0: /** michael@0: Get the MWI Status michael@0: michael@0: @return cc_uint32_t - MWI status (boolean 0 => no MWI) michael@0: */ michael@0: virtual bool getMWIStatus() = 0; michael@0: michael@0: /** michael@0: Get the MWI Type michael@0: michael@0: @return cc_uint32_t - MWI Type michael@0: */ michael@0: virtual cc_uint32_t getMWIType() = 0; michael@0: michael@0: /** michael@0: Get the MWI new msg count michael@0: michael@0: @return cc_uint32_t - MWI new msg count michael@0: */ michael@0: virtual cc_uint32_t getMWINewMsgCount() = 0; michael@0: michael@0: /** michael@0: Get the MWI old msg count michael@0: michael@0: @return cc_uint32_t - MWI old msg count michael@0: */ michael@0: virtual cc_uint32_t getMWIOldMsgCount() = 0; michael@0: michael@0: /** michael@0: Get the MWI high priority new msg count michael@0: michael@0: @return cc_uint32_t - MWI new msg count michael@0: */ michael@0: virtual cc_uint32_t getMWIPrioNewMsgCount() = 0; michael@0: michael@0: /** michael@0: Get the MWI high priority old msg count michael@0: michael@0: @return cc_uint32_t - MWI old msg count michael@0: */ michael@0: virtual cc_uint32_t getMWIPrioOldMsgCount() = 0; michael@0: michael@0: /** michael@0: has capability - is the feature allowed michael@0: michael@0: @param [in] capability - capability being queried to see if it's available michael@0: @return bool - is Allowed michael@0: */ michael@0: virtual bool hasCapability(ccapi_call_capability_e capability) = 0; michael@0: michael@0: /** michael@0: get Allowed Feature set michael@0: michael@0: @return cc_return_t - bitset of Line Capabilities. michael@0: */ michael@0: virtual std::bitset getCapabilitySet() = 0; michael@0: }; michael@0: };