//---------------------------------------------------------------------------// bool CAddInNative::GetParamDefValue(const long lMethodNum, const long lParamNum, tVariant *pvarParamDefValue) { TV_VT(pvarParamDefValue)= VTYPE_EMPTY; switch(lMethodNum) { case eMethEnable: case eMethDisable: case eMethShowInStatusLine: case eMethStartTimer: case eMethStopTimer: case eMethShowMsgBox: case eMethInit: case eMethReg: case eMethMakeCall: case eMethsetNullDev: case eMethRegisterComplete: // There are no parameter values by default break; default: return false; } return false; }
//---------------------------------------------------------------------------// bool CAddInNative::GetPropVal(const long lPropNum, tVariant* pvarPropVal) { WCHAR_T* names = NULL; switch(lPropNum) { case ePropIsEnabled: TV_VT(pvarPropVal) = VTYPE_BOOL; TV_BOOL(pvarPropVal) = m_boolEnabled; break; case ePropIsTimerPresent: TV_VT(pvarPropVal) = VTYPE_BOOL; TV_BOOL(pvarPropVal) = true; break; case ePropVersion: PutStrParam(pvarPropVal, m_Version); //PutStrParam(pvarPropVal, "sddsds"); break; case ePropExtention: PutStrParam(pvarPropVal, extention); break; case ePropDomain: PutStrParam(pvarPropVal, domain); break; case ePropRealm: PutStrParam(pvarPropVal, realm); break; case ePropUser: PutStrParam(pvarPropVal, user); break; case ePropPass: PutStrParam(pvarPropVal, pass); break; case ePropProxies: PutStrParam(pvarPropVal, proxies); break; default: return false; } return true; }
//---------------------------------------------------------------------------// bool CAddInNCR5976::GetParamDefValue(const long lMethodNum, const long lParamNum, tVariant *pvarParamDefValue) { Debug::log("CAddInNCR5976::GetParamDefValue"); TV_VT(pvarParamDefValue)= VTYPE_EMPTY; switch(lMethodNum) { default: return false; } return false;
//---------------------------------------------------------------------------// bool CAddInRawPrinter::GetPropVal(const long lPropNum, tVariant* pvarPropVal) { switch(lPropNum) { case eProp_PrinterName: TV_VT(pvarPropVal) = VTYPE_PWSTR; pvarPropVal->pwstrVal = PrinterName; break; default: return false; } return true; }
//---------------------------------------------------------------------------// bool CAddInRawPrinter::GetParamDefValue(const long lMethodNum, const long lParamNum, tVariant *pvarParamDefValue) { TV_VT(pvarParamDefValue)= VTYPE_EMPTY; switch(lMethodNum) { case eMeth_Open: case eMeth_Close: case eMeth_SendRaw: // There are no parameter values by default break; default: return false; } return false; }
//---------------------------------------------------------------------------// bool CAddInNative::PutStrParam(tVariant* pvarPropVal,const std::string& param) { bool bRes = true; WCHAR_T *wsPropValue = 0; TV_VT(pvarPropVal) = VTYPE_PWSTR; std::wstring wTemp(param.begin(),param.end()); int iActualSize = wTemp.length() + 1; if (m_iMemory) { if (m_iMemory->AllocMemory((void**)&wsPropValue, iActualSize * sizeof(WCHAR_T))) ::convToShortWchar(&wsPropValue, wTemp.c_str(), iActualSize); } TV_WSTR(pvarPropVal) = wsPropValue; pvarPropVal->wstrLen = iActualSize-1; return bRes; }
//---------------------------------------------------------------------------// bool CAddInNCR5976::GetPropVal(const long lPropNum, tVariant* pvarPropVal) { Debug::log("CAddInNCR5976::GetPropVal"); switch(lPropNum) { case eProp_Version: TV_VT(pvarPropVal) = VTYPE_I4; pvarPropVal->lVal = NCR_INT_API; break; case eProp_Result: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().GetResult(); else pvarPropVal->lVal = 0; break; case eProp_CurrentDeviceNumber: TV_VT(pvarPropVal) = VTYPE_I4; pvarPropVal->lVal = m_devices.GetCurrentDeviceNumber(); break; case eProp_DeviceColumnCount: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().GetColumnCount(); else pvarPropVal->lVal = 0; break; case eProp_WindowCount: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().WindowCount(); else pvarPropVal->lVal = 0; break; case eProp_DeviceTurnedOn: TV_VT(pvarPropVal) = VTYPE_BOOL; pvarPropVal->bVal = m_devices.Current().TurnedOn(); break; case eProp_CurrentWindow: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().CurrentWindowNumber() + 1; else pvarPropVal->lVal = 0; break; case eProp_MarqueeRepeatWait: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().CurrentWindow().MarqueeRepeatWait; else pvarPropVal->lVal = 0; break; case eProp_MarqueeUnitWait: TV_VT(pvarPropVal) = VTYPE_I4; if (m_devices.size()) pvarPropVal->lVal = m_devices.Current().CurrentWindow().MarqueeUnitWait; else pvarPropVal->lVal = 0; break; case eProp_CurrentDeviceName: case eProp_Model: case eProp_DataBits: case eProp_LoadFonts: case eProp_Port: case eProp_Speed: case eProp_StopBits: case eProp_Parity: case eProp_CodePage: case eProp_ResultDescription: case eProp_MarqueeType: case eProp_MarqueeFormat: default: return false; } return true;
bool ComponentBaseImpl::Method::empty_argument(tVariant* arg) { TV_VT(arg) = VTYPE_EMPTY; return true; }
//---------------------------------------------------------------------------// bool CAddInNative::CallAsFunc(const long lMethodNum, tVariant* pvarRetValue, tVariant* paParams, const long lSizeArray) { bool ret = false; FILE *file = 0; char *name = 0; int size = 0; char *mbstr = 0; wchar_t* wsTmp = 0; switch(lMethodNum) { case eMethLoadPicture: /*{ if (!lSizeArray || !paParams) return false; switch(TV_VT(paParams)) { case VTYPE_PSTR: name = paParams->pstrVal; break; case VTYPE_PWSTR: ::convFromShortWchar(&wsTmp, TV_WSTR(paParams)); size = wcstombs(0, wsTmp, 0)+1; mbstr = new char[size]; memset(mbstr, 0, size); size = wcstombs(mbstr, wsTmp, getLenShortWcharStr(TV_WSTR(paParams))); name = mbstr; break; default: return false; } } file = fopen(name, "rb"); if (file == 0) { wchar_t* wsMsgBuf; uint32_t err = errno; name = strerror(err); size = mbstowcs(0, name, 0) + 1; wsMsgBuf = new wchar_t[size]; memset(wsMsgBuf, 0, size * sizeof(wchar_t)); size = mbstowcs(wsMsgBuf, name, size); addError(ADDIN_E_VERY_IMPORTANT, L"AddInNative", wsMsgBuf, RESULT_FROM_ERRNO(err)); delete[] wsMsgBuf; return false; } fseek(file, 0, SEEK_END); size = ftell(file); if (size && m_iMemory->AllocMemory((void**)&pvarRetValue->pstrVal, size)) { fseek(file, 0, SEEK_SET); size = fread(pvarRetValue->pstrVal, 1, size, file); pvarRetValue->strLen = size; TV_VT(pvarRetValue) = VTYPE_BLOB; ret = true; } if (file) fclose(file); if (mbstr) delete[] mbstr;*/ break; case eMethRegisterComplete: { /*pAsyncEvent = m_iConnect; if (!pAsyncEvent){} else { pAsyncEvent->ExternalEvent(L"Hello", L"Hello", L"Hello"); }*/ TV_VT(pvarRetValue) = VTYPE_BOOL; pvarRetValue->bVal = regIsActive(); ret = true; } break; } return ret; }
//---------------------------------------------------------------------------// bool CAddInNative::SetPropVal(const long lPropNum, tVariant *varPropVal) { switch(lPropNum) { case ePropIsEnabled: if (TV_VT(varPropVal) != VTYPE_BOOL) return false; m_boolEnabled = TV_BOOL(varPropVal); break; case ePropExtention: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; extention = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.extention = unicode_to_pj_str(m_extention.c_str()); } break; case ePropUser: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; user = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.user = unicode_to_pj_str(m_user.c_str()); } break; case ePropPass: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; pass = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.pass = unicode_to_pj_str(m_pass.c_str()); } break; case ePropRealm: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; realm = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.realm = unicode_to_pj_str(m_realm.c_str()); } break; case ePropDomain: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; domain = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.domain = unicode_to_pj_str(m_domain.c_str()); } break; case ePropProxies: { if (TV_VT(varPropVal) != VTYPE_PWSTR) return false; proxies = unicode_to_pj_str(VariantToWStr(varPropVal).c_str()); //m_sip_client.proxies = unicode_to_pj_str(m_proxies.c_str()); } break; case ePropIsTimerPresent: default: return false; } return true; }