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.3.0 ext/page.cpp
sensu-em-2.2.0-java ext/page.cpp
sensu-em-2.2.0 ext/page.cpp
sensu-em-2.1.0-java ext/page.cpp
sensu-em-2.1.0 ext/page.cpp
sensu-em-2.0.0-java ext/page.cpp
sensu-em-2.0.0 ext/page.cpp
sonixlabs-eventmachine-java-1.0.0.rc.7-java ext/page.cpp
eventmachine-le-1.1.6 ext/page.cpp
classiccms-0.7.2 vendor/bundle/gems/eventmachine-0.12.10/ext/page.cpp
classiccms-0.7.1 vendor/bundle/gems/eventmachine-0.12.10/ext/page.cpp
classiccms-0.7.0 vendor/bundle/gems/eventmachine-0.12.10/ext/page.cpp
eventmachine-le-1.1.5 ext/page.cpp
eventmachine-1.0.3-x86-mswin32-60 ext/page.cpp
eventmachine-1.0.3-x86-mingw32 ext/page.cpp
eventmachine-1.0.3-java ext/page.cpp
eventmachine-1.0.3 ext/page.cpp
eventmachine-1.0.2-java ext/page.cpp
eventmachine-1.0.2-x86-mswin32-60 ext/page.cpp
eventmachine-1.0.2-x86-mingw32 ext/page.cpp