#ifndef _PAGE_H

#define _PAGE_H


/*
 * Page Class definition
 */

#include "main.h"

#include <fstream.h>


class Page
{
private:
	char *image_name;
	char main_page_prefix[32];
	char index_page_prefix[32];
	char target[64];
	char thumb_image_prefix[32];
	char main_image_prefix[32];
	char next_img[256];
	char last_img[256];
	bool IMG_NAVIG ;
	bool TEXT_NAVIG ;
	bool INDEX_NAVIG ;
	char base[PATH_MAX + 1];
	char startpage[PATH_MAX+1];
	char separator[2];	
	char **img_list;
	int img_totalcount;
	char *copyright;
	char *imagetitle;
	
	int   image_count;
	int   index_count;
	int   index_size;
	ofstream index_writer;
	ofstream main_writer;
	
public:
	Page();
	Page(char **list, int count);
	Page(char **list, int count, int indexsize );

	virtual ~Page();
	void process();
	void cleanUp();
	void setBase( char *_base);
	void setImagetitle( char *ititle);
	void setCopyright( char *cright);
	void setIndexSize( int size );
	void setNavigOption( bool img_navig, bool text_navig, bool index_navig );

private:
	void init();
	void updateIndices();
	void printDisplayPage();
	void startIndexPage();
	void endIndexPage();
	void appendIndexPage();
	void prePrintDisplayPage();
	void postPrintDisplayPage();
	void processOne(char *img );
	void resolvePath(char *path , char *prefix, int count );
	void resolvePath(char *path , char *name );
	void printStartPage();
	bool fileExists( char *file );
};
#endif /* _PAGE_H */



syntax highlighted by Code2HTML, v. 0.9