Sha256: b4559f3edad4f5c4399eed1a495cdae72adb530fd3ba30728188fe73db33cd69

Contents?: true

Size: 1.72 KB

Versions: 216

Compression:

Stored size: 1.72 KB

Contents

/*****************************************************************************

$Id$

File:     page.cpp
Date:     30Apr06

Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
Gmail: blackhedd

This program is free software; you can redistribute it and/or modify
it under the terms of either: 1) the GNU General Public License
as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version; or 2) Ruby's License.

See the file COPYING for complete licensing information.

*****************************************************************************/


#include "project.h"


/******************
PageList::PageList
******************/

PageList::PageList()
{
}


/*******************
PageList::~PageList
*******************/

PageList::~PageList()
{
	while (HasPages())
		PopFront();
}


/***************
PageList::Front
***************/

void PageList::Front (const char **page, int *length)
{
	assert (page && length);

	if (HasPages()) {
		Page p = Pages.front();
		*page = p.Buffer;
		*length = p.Size;
	}
	else {
		*page = NULL;
		*length = 0;
	}
}


/******************
PageList::PopFront
******************/

void PageList::PopFront()
{
	if (HasPages()) {
		Page p = Pages.front();
		Pages.pop_front();
		if (p.Buffer)
			free ((void*)p.Buffer);
	}
}


/******************
PageList::HasPages
******************/

bool PageList::HasPages()
{
	return (Pages.size() > 0) ? true : false;
}


/**************
PageList::Push
**************/

void PageList::Push (const char *buf, int size)
{
	if (buf && (size > 0)) {
		char *copy = (char*) malloc (size);
		if (!copy)
			throw runtime_error ("no memory in pagelist");
		memcpy (copy, buf, size);
		Pages.push_back (Page (copy, size));
	}
}





Version data entries

216 entries across 215 versions & 20 rubygems

Version Path
sensu-em-2.7.0-java ext/page.cpp
eventmachine-1.2.5-x86-mingw32 ext/page.cpp
eventmachine-1.2.5-x64-mingw32 ext/page.cpp
eventmachine-1.2.5-java ext/page.cpp
eventmachine-1.2.5 ext/page.cpp
eventmachine-1.2.3-x64-mingw32 ext/page.cpp
eventmachine-1.2.3-x86-mingw32 ext/page.cpp
eventmachine-1.2.3-java ext/page.cpp
eventmachine-1.2.3 ext/page.cpp
eventmachine-1.2.2-java ext/page.cpp
eventmachine-1.2.2 ext/page.cpp
eventmachine-1.2.2-x86-mingw32 ext/page.cpp
eventmachine-1.2.2-x64-mingw32 ext/page.cpp
arcabouco-0.2.13 vendor/bundle/gems/eventmachine-1.2.0.1/ext/page.cpp
arcabouco-0.2.13 vendor/bundle/gems/eventmachine-1.2.1/ext/page.cpp
eventmachine-1.2.1-java ext/page.cpp
eventmachine-1.2.1-x64-mingw32 ext/page.cpp
eventmachine-1.2.1-x86-mingw32 ext/page.cpp
eventmachine-1.2.1 ext/page.cpp
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/eventmachine-1.2.0.1/ext/page.cpp