/*
    PIP - Platform Independent Primitives
    Introspection module - interface for threads
    Ivan Pelipenko peri4ko@yandex.ru

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

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)

#  include "piintrospection_threads.h"

#  include "piintrospection_threads_p.h"

__PIINTROSPECTION_SINGLETON_CPP__(Threads)


PIIntrospectionThreadsInterface::PIIntrospectionThreadsInterface() {
	p = new PIIntrospectionThreads();
}


PIIntrospectionThreadsInterface::~PIIntrospectionThreadsInterface() {
	delete p;
}


void PIIntrospectionThreadsInterface::threadNew(PIThread * t) {
	p->threadNew(t);
}


void PIIntrospectionThreadsInterface::threadDelete(PIThread * t) {
	p->threadDelete(t);
}


void PIIntrospectionThreadsInterface::threadStart(PIThread * t) {
	p->threadStart(t);
}


void PIIntrospectionThreadsInterface::threadRun(PIThread * t) {
	p->threadRun(t);
}


void PIIntrospectionThreadsInterface::threadWait(PIThread * t) {
	p->threadWait(t);
}


void PIIntrospectionThreadsInterface::threadStop(PIThread * t) {
	p->threadStop(t);
}


void PIIntrospectionThreadsInterface::threadRunDone(PIThread * t, ullong us) {
	p->threadRunDone(t, us);
}

#endif // PIP_INTROSPECTION
