• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ canRead函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中canRead函数的典型用法代码示例。如果您正苦于以下问题:C++ canRead函数的具体用法?C++ canRead怎么用?C++ canRead使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了canRead函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: FindTable

/*
    删除表中的一个数据
*/
bool userDatabase::DeleteData(){
    int Size = mySql.sqlWord.size();
    if(mySql.sqlWord[1] == "from"){
        string name = mySql.sqlWord[2];
        int tableid = FindTable(name);
        if(tableid != -1){
            Condition selectValue,whereValue;
            if(canRead(4) && mySql.sqlWord[3]  == "where"){
                    string na,sy,va;
                    for(int pos = 4;pos < Size;pos++){
                        if(canRead(pos))
                            na = mySql.sqlWord[pos++];
                        if(canRead(pos))
                            sy = mySql.sqlWord[pos++];
                        if(canRead(pos))
                            va = mySql.sqlWord[pos++];
                        //cout << na << " " << sy << " " << va << endl;
                        if(!whereValue.addValue(na,sy,va)){
                            return false;
                        }
                    }
            }
            if(myTable[tableid].findCondition(3,selectValue,whereValue))
                return true;
            else
                return false;
        }
        else
            kLine::NotFindTable(name);
    }
    return false;
}
开发者ID:KinderRiven,项目名称:DataBase,代码行数:35,代码来源:userDatabase.cpp


示例2: while

//判断键值
//NOT NULL,UNIQUE,PRIMARY KEY
int userDatabase::JudgeKey(int &pos){
    int cnt = 0;
    //利用二进制的位进行判断
    /*
        第零位 为 PRIMARY KEY
        第一位 为 UNIQUE
        第二位 为 NOT NULL
    */
    while(true){
        if(canRead(pos + 1) && mySql.sqlWord[pos] == "primary" && mySql.sqlWord[pos + 1] == "key"){
            cnt |= (1 << 0);
            pos += 2;
        }
        else if(canRead(pos) && mySql.sqlWord[pos] == "unique"){
            cnt |= (1 << 1);
            pos ++;
        }
        else if(canRead(pos + 1) && mySql.sqlWord[pos] == "not" && mySql.sqlWord[pos + 1] == "null"){
            cnt |= (1 << 2);
            pos +=2;
        }
        else
            break;
    }
    return cnt;
};
开发者ID:KinderRiven,项目名称:DataBase,代码行数:28,代码来源:userDatabase.cpp


示例3: mergeCruds

	int AccessMap::mergeCruds(int crud1, int crud2) const
	{
		if ((crud1 == PROCEDURE_ONLY) || (crud2 == PROCEDURE_ONLY)) return PROCEDURE_ONLY;
		int crud = 0;
		if (canCreate(crud1) || canCreate(crud2)) crud += CREATE;		
		if (canRead(crud1) || canRead(crud2)) crud += READ;
		if (canUpdate(crud1) || canUpdate(crud2)) crud += UPDATE;
		if (canDelete(crud1) || canDelete(crud2)) crud += DELETE;
		return crud;
	}
开发者ID:ptryfon,项目名称:loxim-stats,代码行数:10,代码来源:AccessMap.cpp


示例4: canHandler

/*
 * A simple interrupt handler for CAN message reception
 */
void canHandler(void) {
  if (canReady(CAN_PORT_1)) {
    canRead(CAN_PORT_1, &can1RxBuffer);
    can1RxDone = true;
  }
  if (canReady(CAN_PORT_2)) {
    canRead(CAN_PORT_2, &can2RxBuffer);
    can2RxDone = true;
  }
}
开发者ID:DavidKendall,项目名称:cm0605_lab09,代码行数:13,代码来源:main.c


示例5: onRead

int
FileAction::onOpenRead(ServerContext& ctxt, FileServer& server, handle_t **handle, const char *path)
{
	int status = 0;
	
	if (!canRead(ctxt, server, path))
	{
		return -EPERM;
	}
	*handle = ctxt.getSession().createHandle(HDL_FILE);
	TAG_HANDLE(*handle);
	_DEBUG("onOpenRead: created handle for %s", path);
	if (*handle == NULL)
	{
		return -EIO;
	}
	HANDLE_PATH(**handle) = path;
	(*handle)->h_special_data = true;
	(*handle)->h_action = this;
	status = onRead(ctxt, server, translate(path).c_str(), HANDLE_CONTENTS(**handle));
	if (status >= 0)
	{
		status = 0;
		(*handle)->h_count = status;
	}
	return status;
}
开发者ID:rallan9,项目名称:inetfs,代码行数:27,代码来源:FileAction.cpp


示例6: canHandler

/*
 * An interrupt handler for CAN message reception on CAN1
 * When a message is recieved the ID is checked and local
 * variables are updated within the conveyor sub-system.
 */
static void canHandler(void) {
  if (canReady(CAN_PORT_1)) {
    interfaceLedToggle(D1_LED);
    canRead(CAN_PORT_1, &can1RxBuf);
    canMessage_t msg;
    msg = can1RxBuf;
    if (msg.id == PICKED_UP_PAD1){
       checkForInputBlock = true;
       stopConveyorForLoad = true;
    }    
    if(msg.id == EMERGENCY_STOP){
      emergencyStop = true;
    }
    if(msg.id == PAUSE){
      paused = true;
    }
    if(msg.id == RESUME){
      paused = false;
      conveyorSetState(pausedState);
    }
    if(msg.id == RESET){
      __iar_program_start();
    }
    if(msg.id == START){
      stopped = false;
    }
    if(msg.id == STOP){
      stopped = true;
    }
  }
}
开发者ID:AdamGraneyUni,项目名称:EN617,代码行数:36,代码来源:main.c


示例7: listDirectory

/**
 * Lists the contents of the directory denoted by this File. If the current
 * File doesn't point to a directory or does not exist, an exception is thrown.
 *
 * @param result matching names will be put here
 * @param filter optional filter filter which can be used to filter filenames.
 * @return the number of items put into the result
 */
size_t File::listDirectory(FileList &result, FileFilter *filter) const
{
    if (!exists())
        throw std::logic_error("Cannot list a non-existing directory");
    if (!isDirectory())
        throw std::logic_error("Cannot list file which isn't a directory");
    if (!canRead())
        throw std::logic_error(std::string("No read access for directory ") + fullname);

    DIR *dir = opendir(fullname.c_str());
    if (dir == NULL) {
        throw std::logic_error("opendir() failed for a directory");
    }

    size_t numItems = 0;
    struct dirent *pEntry;

    pEntry = readdir(dir);
    while (pEntry)
    {
        // do not include "." and ".." in the list
        if (strcmp(pEntry->d_name, ".") && strcmp(pEntry->d_name, ".."))
        {
            File f(*this, pEntry->d_name);
            if (!filter || (*filter)(f))
            {
                result.push_back(std::move(f));
                ++numItems;
            }
        }
        pEntry = readdir(dir);
    }
    closedir(dir);
    return numItems;
}
开发者ID:PlayWithIt,项目名称:TFStubserver,代码行数:43,代码来源:File.cpp


示例8: canRead

int CESDDevice::waitForStartMotionAll()
{
	int iRetVal = 0;
	bool bRecieved = false;
	long iNumberOfMessages = 1;
	CMSG clESDProtocolMessage;
	m_iErrorState = 0;

	do
	{	
		iRetVal = canRead(m_hSyncDevice, &clESDProtocolMessage, &iNumberOfMessages, NULL);			
		if(iRetVal != NTCAN_SUCCESS)
		{
			warning("can read failed Errorcode: %d", iRetVal);
			m_iErrorState = getDeviceError(iRetVal);
			return m_iErrorState;
		}
		bRecieved = true;
		if(clESDProtocolMessage.id != MSGID_ALL)
		{
			debug(1, "received CAN-ID %x, expected %x", clESDProtocolMessage.id, MSGID_ALL);
			bRecieved = false;
		}
		if(clESDProtocolMessage.data[0] != CMDID_STARTMOVE)
		{
			debug(1, "wrong command ID");
			bRecieved = false;
		}
	}
	while(!bRecieved);
	return m_iErrorState;
}
开发者ID:ipa-goa-wt,项目名称:schunk_modular_robotics,代码行数:32,代码来源:ESDDevice.cpp


示例9: readNTCAN

int32_t readNTCAN(NTCAN_HANDLE handle, CMSG *msg, int32_t len)
 {
   NTCAN_RESULT 	result;
   int32_t			i,j;
   int32_t 			timeout=0; 
/* Reading Object of NTCAN device */  
	do {
		result = canRead(handle,msg, &len, NULL); 
		timeout++;
/* If timeout error is recieved repeatly then read is aborted */
      if(timeout > MAX_TIMEOUT) 
			{
      	result = canIoctl(handle, NTCAN_IOCTL_ABORT_RX, NULL);
         if(errorCheck(CAN_IO_CTL,result != 0))
         	{ return 1; } 									// error check
            printf("Repeated Timeout, read aborted\n");
            return 2; 
			}
      } while(errorCheck(CAN_READ,result) == 2); 
	if(errorCheck(CAN_READ,result) != 0)
		{ return 1; }  										// error check
/* Printing read object of NTCAN device to screen */
	printf("readNTCAN() successfull\n") ;
	printf("Length of message recieved: %d\n", (len & 0x0F) );
	for(j=0;j<len;j++)
	{
		printf("ID of NTCAN device: %x\n", msg->id); 
   		for(i=0;i<(msg->len);i++) 
		{
			printf("Byte %d of recieved message: %d\n", i, msg->data[i]);
   		}  
 	}
	return 0; 
}
开发者ID:reneulab,项目名称:ReNeu_Lab,代码行数:34,代码来源:myCan.c


示例10: read

bool QTgaHandler::read(QImage *image)
{
    if (!canRead())
        return false;
    *image = tga->readImage();
    return !image->isNull();
}
开发者ID:RS102839,项目名称:qt,代码行数:7,代码来源:qtgahandler.cpp


示例11: flushSerial

void flushSerial(uint8_t usartn)
{
   volatile char null;

   while (canRead(usartn))
      null = __readByte(usartn);
}
开发者ID:mzimmerer,项目名称:robot,代码行数:7,代码来源:uart.c


示例12: QTcpSocket

void ConnectTrd::run()
{
    QString ip;
    QString ipHead = m_Ip.left(m_Ip.lastIndexOf(".")+1);

    for(int i=0; i<255; i++)
    {
        if(!sockets[i])
        {
            sockets[i] = new QTcpSocket();
            connect(sockets[i],SIGNAL(readyRead()),this,SLOT(canRead()));

        }
        else
        {
            sockets[i]->disconnectFromHost();
        }

        //msleep(1);
        ip = ipHead + QString::number(i+1);
        sockets[i]->connectToHost(ip,AKHMI_PORT);
        //sockets[i]->waitForConnected(1);
        //qDebug() << "connect to Host :"<< ip;
        //qDebug() << sockets[i]->errorString();
    }

    exec();
}
开发者ID:maqiangddb,项目名称:pc_code,代码行数:28,代码来源:connecttrd.cpp


示例13: read

bool PaletteIO::read(Palettes &palettes) const
{
	if(!canRead()) {
		return false;
	}

	QByteArray palData = device()->read(12);

	if(palData.size() != 12) {
		qWarning() << "PaletteIO::read Pal size too short";
		return false;
	}

	quint16 palH;

	memcpy(&palH, palData.constData() + 10, 2);

	palData = device()->read(palH * 512);

	if(palData.size() != palH * 512) {
		qWarning() << "PaletteIO::read Pal size too short 2";
		return false;
	}

	for(quint32 i=0 ; i<palH ; ++i) {
		palettes.append(createPalette(palData.constData() + i*512));
	}

	return readAfter(palettes);
}
开发者ID:TurBoss,项目名称:makoureactor,代码行数:30,代码来源:PaletteIO.cpp


示例14: rl_callback_handler_install

void *
ConsoleUI::threadMain(void *arg) {
	rl_callback_handler_install("", ConsoleUICallbacks::lineRead);
	while (!quit) {
		while (canRead()) {
			lineProcessed = false;
			rl_callback_read_char();
			if (lineProcessed && rl_prompt != NULL && rl_prompt[0] != '\0') {
				// If a line has been processed, reset the prompt
				// so we don't see it again after an Enter.
				rl_set_prompt("");
				rl_display_prompt = NULL;
				rl_redisplay();
			}
		}

		pthread_mutex_lock(&outputLock);
		if (!output.empty()) {
			processOutput();
			pthread_cond_broadcast(&outputCond);
		}
		pthread_mutex_unlock(&outputLock);

		usleep(10000);
	}
	rl_callback_handler_remove();
	return NULL;
}
开发者ID:puring0815,项目名称:OpenKore,代码行数:28,代码来源:consoleui.cpp


示例15: tryRead

		/**
		* \brief Tries to reads an item from the buffer.
		*
		* If the buffer cannot currently be read from, this operation returns
		* with an appropriate status code.
		*
		* \param item out: The read item. If the return code is false, the 
		*				value is undefined.
		* \returns true if an item was read, false otherwise
		*/
		inline bool tryRead(register rbdata_t *item) { 
			assert(NULL != item);
			
			// loop until the buffer has a full slot
			if (!canRead()) return false;

			// fetch fresh
			_MemoryBarrier();	

			// since we read, the fill level will be decreased
			--_fillLevel;
				
			// write to the current write index
			*item = _buffer[_read_index];
		
			// advance the read pointer
			_read_index = (_read_index+1) & this->_sizeMask;
		
			// since we read, the capacity will be increased
			++_capacity;
		
			// there we go
			_MemoryBarrier();
			return true;
		}
开发者ID:sunsided,项目名称:avr-rfm12,代码行数:35,代码来源:RingBufferPow2.hpp


示例16: deriveFatherCrud

	int AccessMap::deriveFatherCrud(int fatherCrud) const
	{
		int crud = NO_ACCESS;
		if (canRead(fatherCrud)) crud += READ;
		if (canUpdate(fatherCrud)) crud += UPDATE + DELETE + CREATE;
		return crud;
	}
开发者ID:ptryfon,项目名称:loxim-stats,代码行数:7,代码来源:AccessMap.cpp


示例17: JudgeType

//判断类型 int char
int userDatabase::JudgeType(int pos){
    if(canRead(pos)){
        if(mySql.sqlWord[pos] == "int")  return 1;
        if(mySql.sqlWord[pos] == "char") return 2;
    }
    return -1;
};
开发者ID:KinderRiven,项目名称:DataBase,代码行数:8,代码来源:userDatabase.cpp


示例18: readMessage

		bool readMessage(unsigned id,  std::vector<char> & message) {
			if (false ==canRead(id))
				return false;
			message = subscriber_map_[id].read_itr_->data_;
			return true;
			
		}
开发者ID:acgreek,项目名称:protocol-buffer-zeromq-broker,代码行数:7,代码来源:in_memory_subscription_queue.hpp


示例19: canRequestBusStatistics

/**
 * @brief MainWindow::uiUpdate
 */
void MainWindow::uiUpdate(){
    ui->pushButtonBusOn->setEnabled(connected);
    ui->comboBoxBaud->setEnabled(!busOn);
    ui->checkBox_Silent->setEnabled(!busOn);

    if(connected){
        canBusStatistics stats;
        canStatus stat;
        stat = canRequestBusStatistics(canHandle);
        if( stat < 0){
            qDebug() debugprefix << "canRequestBusStatistics failed";
        }else{
            stat = canGetBusStatistics(canHandle, &stats, sizeof(canBusStatistics));
            if(stat < 0){
                qDebug() debugprefix << "canGetBusStatistics failed";
            }else{
                ui->label_corruptCounter->setText(QString().setNum(stats.errFrame));
                unsigned long c = stats.stdData + stats.stdRemote + stats.extData + stats.extRemote;
                ui->label_packetCounter->setText(QString().setNum(c));
                ui->progressBarBusLoad->setValue(stats.busLoad);
            }
        }
        if(busOn){
            // Dirty but effective
            while(1){
                long id;
                unsigned char data[8];
                unsigned int dlc, flags;
                unsigned long timestamp;

                canStatus stat = canRead(canHandle, &id, data, &dlc, &flags, &timestamp);
                if (stat < 0) {
                    //qDebug() debugprefix << "canRead() end of queue";
                    break;
                }else{
                    QString l;
                    if(flags & canMSG_ERROR_FRAME){
                        l.sprintf("%ld",timestamp);
                        qDebug() debugprefix << "canRead() got error";
                    }else{
                        int rtr = 0;
                        if( flags & canMSG_RTR ) rtr = 1;
                        l.sprintf("%ld\tID:0x%08X\tRTR:%d\t",timestamp,id,rtr);
                        if( dlc > 0 ) l.append(QString().sprintf("DATA: %02X", (quint8)data[0]));
                        if( dlc > 1 ) l.append(QString().sprintf("%02X", (quint8)data[1]));
                        if( dlc > 2 ) l.append(QString().sprintf("%02X", (quint8)data[2]));
                        if( dlc > 3 ) l.append(QString().sprintf("%02X", (quint8)data[3]));
                        if( dlc > 4 ) l.append(QString().sprintf("%02X", (quint8)data[4]));
                        if( dlc > 5 ) l.append(QString().sprintf("%02X", (quint8)data[5]));
                        if( dlc > 6 ) l.append(QString().sprintf("%02X", (quint8)data[6]));
                        if( dlc > 7 ) l.append(QString().sprintf("%02X", (quint8)data[7]));
                    }
                    qDebug() debugprefix << "canRead() got valid message";
                    ui->textEditCanIn->append(l);
                }
            }
        }
    }
}
开发者ID:Jeroen6,项目名称:QtKvaser,代码行数:62,代码来源:mainwindow.cpp


示例20: canRead

bool QXpmHandler::canRead() const
{
    if (state == Ready && canRead(device())) {
        setFormat("xpm");
        return true;
    }
    return state != Error;
}
开发者ID:MartinOehler,项目名称:LINBOv2,代码行数:8,代码来源:qxpmhandler.cpp



注:本文中的canRead函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ canSee函数代码示例发布时间:2022-05-30
下一篇:
C++ canInvokeCallback函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap