The Assimilation Project  based on Assimilation version 0.5.1440692045
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules 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.