int LCSafetyShutter::OnState(MM::PropertyBase* pProp, MM::ActionType eAct) { if (eAct == MM::BeforeGet) { bool open; int ret = GetOpen(open); if (ret != DEVICE_OK) return ret; std::string state = "0"; if (open) state = "1"; pProp->Set(state.c_str()); } else if (eAct == MM::AfterSet) { std::string state; pProp->Get(state); bool open = false; if (state == "1") open = true; return SetOpen(open); } return DEVICE_OK; }
void ComboBox::Render(Skin::Base* skin) { if (!GetShouldDrawBackground()) { return; } skin->DrawComboBox(this, GetDepressed(), GetOpen()); }
void ComboBox::OnPressLeft() { if (GetOpen()) { return GetCanvas()->CloseMenus(); } GetCanvas()->CloseMenus(); bool was_menu_hidden = _menu->Hidden(); if (was_menu_hidden) { Open(); } }
int SC10::SetOpen(bool open) { bool currentOpen; int ret = GetOpen(currentOpen); if (ret != DEVICE_OK) return ret; if (currentOpen != open) { std::string answer; ret = ExecuteCommand("ens", answer); if (ret != DEVICE_OK) return ret; } return DEVICE_OK; }
int LCShutter::OnState(MM::PropertyBase *pProp, MM::ActionType eAct) { if (eAct == MM::BeforeGet) { std::string name = laserNameByState_[state_]; pProp->Set(name.c_str()); } else if (eAct == MM::AfterSet) { std::string name; pProp->Get(name); state_ = laserStateByName_[name]; bool open; GetOpen(open); if (open) SetOpen(open); } return DEVICE_OK; }
DWORD _stdcall PacketIOControl(DWORD dwService, DWORD dwDDB, DWORD hDevice, PDIOCPARAMETERS pDiocParms) { // called from applications POPEN_INSTANCE Open; NDIS_STATUS Status; UCHAR AdapterBuffer[5]; NDIS_STRING AdapterName = NDIS_STRING_CONST(AdapterBuffer); switch (dwService) { case DIOC_OPEN: return NDIS_STATUS_SUCCESS; case DIOC_CLOSEHANDLE: if ((Open = GetOpen(hDevice)) != NULL) PacketUnbindAdapter(&Status, Open, NULL); return NDIS_STATUS_SUCCESS; case IOCTL_EPACKET_VERSION: if (pDiocParms->cbOutBuffer < 2) *(DWORD *)(pDiocParms->lpcbBytesReturned) = 0; else { ((BYTE *)pDiocParms->lpvOutBuffer)[0] = MAJOR_VERSION; ((BYTE *)pDiocParms->lpvOutBuffer)[1] = MINOR_VERSION; *(DWORD *)pDiocParms->lpcbBytesReturned = 2; } return NDIS_STATUS_SUCCESS; case IOCTL_EPACKET_BIND: memcpy(AdapterName.Buffer, (BYTE *)pDiocParms->lpvInBuffer, min(strlen((char *)pDiocParms->lpvInBuffer), sizeof(AdapterBuffer)-1)); AdapterName.Buffer[sizeof(AdapterBuffer)-1] = '\0'; PacketBindAdapter(&Status, GlobalDeviceExtension->NdisProtocolHandle, &AdapterName, (PVOID)hDevice, /* special */ NULL); // Note: If the above usage of the 4'th arg to PacketBindAdapter // causes problems, use a global variable instead. if (Status == NDIS_STATUS_SUCCESS || Status == NDIS_STATUS_PENDING) { *(DWORD *)pDiocParms->lpcbBytesReturned = 1; return NDIS_STATUS_SUCCESS; } break; case IOCTL_EPACKET_SET_OID: case IOCTL_EPACKET_QUERY_OID: if ((Open = GetOpen(hDevice)) != NULL) return PacketRequest(Open, dwService, dwDDB, hDevice, pDiocParms); break; case IOCTL_EPACKET_READ: if ((Open = GetOpen(hDevice)) != NULL) return PacketRead(Open, dwDDB, hDevice, pDiocParms); break; case IOCTL_EPACKET_WRITE: if ((Open = GetOpen(hDevice)) != NULL) return PacketWrite(Open, dwDDB, hDevice, pDiocParms); break; } *(DWORD *)pDiocParms->lpcbBytesReturned = 0; return NDIS_STATUS_SUCCESS; }