00001
00002
00003
00004
00005
00006
00007 #include "CallbackNextOrdinal.h"
00008 #include "Logger.h"
00009 #include "Point.h"
00010
00011 CallbackNextOrdinal::CallbackNextOrdinal(const QString &curveName) :
00012 m_curveName (curveName),
00013 m_maxOrdinalUsed (0)
00014 {
00015 }
00016
00017 CallbackSearchReturn CallbackNextOrdinal::callback (const QString &curveName,
00018 const Point &point)
00019 {
00020 if (curveName == m_curveName) {
00021 if (point.ordinal() > m_maxOrdinalUsed) {
00022 m_maxOrdinalUsed = point.ordinal();
00023 }
00024 }
00025
00026 return CALLBACK_SEARCH_RETURN_CONTINUE;
00027 }
00028
00029 double CallbackNextOrdinal::nextOrdinal () const
00030 {
00031 int nextOrdinal = m_maxOrdinalUsed + 1;
00032
00033 LOG4CPP_INFO_S ((*mainCat)) << "CallbackNextOrdinal::nextOrdinal"
00034 << " ordinal=" << nextOrdinal;
00035
00036 return nextOrdinal;
00037 }