Esempio n. 1
0
void clearSerialLinkBuffer(const SerialLink* serialLink) {
    if (serialLink != NULL) {
        StreamLink* streamLink = serialLink->streamLink;

        // Serial Input Buffer
        Buffer* serialInputBuffer = streamLink->inputBuffer;
        deepClearBuffer(serialInputBuffer);

        // Serial Output Buffer
        Buffer* serialOutputBuffer = streamLink->outputBuffer;
        deepClearBuffer(serialOutputBuffer);
    }
}
Esempio n. 2
0
void initBuffer(Buffer* buffer, char (*array)[], unsigned char length, char* name, char* type) {
	buffer->s = array;
	buffer->length = length;
    deepClearBuffer(buffer);

    // inputStream
    initInputStream(
            &(buffer->inputStream),
            &_openBufferInputStream,
            &_closeBufferInputStream,
            &_bufferReadChar,
            &_bufferAvailableData,
            (int*) buffer
            );

    // outputStream
    initOutputStream(
            &(buffer->outputStream),
            &_openBufferOutputStream,
            &_closeBufferOutputStream,
            &_bufferWriteChar,
            &_bufferFlush,
            (int*) buffer
            );
    buffer->name = name;
    buffer->type = type;
}
/**
* @private
* Try to clear the buffer if it contains some 'z' char. Very usefull when we have made a mistake taping an instruction.
* @return true if it was cleared (=> buffer will be cleared), false else
*/
bool clearBufferIfNeeded(Buffer* inputBuffer) {
    
    int i;
    int inputBufferCount = getBufferElementsCount(inputBuffer);
    for (i = 0; i < inputBufferCount; i++) {
        char bufferElement = bufferGetCharAtIndex(inputBuffer, i);
        if (bufferElement == HEADER_CLEAR_INPUT_STREAM) {
            deepClearBuffer(inputBuffer);
            return true;
        }
        // remove all informations to the latest char
        if (bufferElement == HEADER_WRITE_CONTENT_AND_DEEP_CLEAR_BUFFER) {
            printDebugBuffer(getAlwaysOutputStreamLogger(), inputBuffer);
            deepClearBuffer(inputBuffer);
            return true;
        }
    }
    return false;
}
Esempio n. 4
0
/**
 * @private
 */
void _closeBufferInputStream(InputStream* inputStream) {
    Buffer* buffer = (Buffer*) inputStream->object;

    deepClearBuffer(buffer);
}
Esempio n. 5
0
/**
 * @private
 */
void _openBufferInputStream(InputStream* inputStream, int param1) {
    Buffer* buffer = (Buffer*) inputStream->object;

    deepClearBuffer(buffer);
}
Esempio n. 6
0
/**
 * @private
 */
void _closeBufferOutputStream(OutputStream* outputStream) {
    Buffer* buffer = (Buffer*) outputStream->object;

    deepClearBuffer(buffer);
}
Esempio n. 7
0
/**
 * @private
 */
void _openBufferOutputStream(OutputStream* outputStream, int param1) {
    Buffer* buffer = (Buffer*) outputStream->object;

    deepClearBuffer(buffer);
}