The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
discovery.c File Reference

Abstract class (more or less) defining discovery objects. More...

#include <projectcommon.h>
#include <discovery.h>
#include <intframe.h>
#include <cstringframe.h>
#include <frametypes.h>
#include <fsprotocol.h>
#include <string.h>
#include <assert.h>
Include dependency graph for discovery.c:

Go to the source code of this file.




FSTATIC char * _discovery_instancename (const Discovery *self)
 internal function return the type of Discovery object More...
FSTATIC void _discovery_flushcache (Discovery *self)
 default (do-nothing) 'flush cache' function More...
FSTATIC guint _discovery_discoverintervalsecs (const Discovery *self)
 default function - return zero for discovery interval More...
FSTATIC gboolean _discovery_rediscover (gpointer vself)
 GSourceFunc function to invoke discover member function at the timed interval. More...
FSTATIC void _discovery_ghash_destructor (gpointer gdiscovery)
 Discovery Destructor function for the GHashTable. More...
FSTATIC void _discovery_sendjson (Discovery *self,char *jsonout,gsize jsonlen)
 Send JSON that we discovered to the CMA - with some caching going on. More...
FSTATIC void _discovery_finalize (AssimObj *gself)
 Finalizing function for Discovery objects. More...
Discoverydiscovery_new (const char *instname, NetGSource *iosource, ConfigContext *context, gsize objsize)
 Discovery constructor. More...
void discovery_register (Discovery *self)
 Function for registering a discovery object with the discovery infrastructure. More...
FSTATIC void discovery_unregister (const char *instance)
void discovery_unregister_all (void)
 Unregister all discovery methods in preparation for shutting down - to make valgrind happy :-D. More...

Detailed Description

Abstract class (more or less) defining discovery objects.

It is only instantiated by derived classes.

This file is part of the Assimilation Project.

Copyright © 2011, 2012 - Alan Robertson
The Assimilation software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Assimilation software 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with the Assimilation Project software. If not, see

Definition in file discovery.c.

Macro Definition Documentation


Definition at line 25 of file discovery.c.