[BACK]Return to ResourceTypeCategory.c++ CVS log [TXT][DIR] Up to [Development] / failsafe / FailSafe-mgr / category / resourceType

File: [Development] / failsafe / FailSafe-mgr / category / resourceType / ResourceTypeCategory.c++ (download)

Revision 1.4, Thu Mar 15 00:13:41 2001 UTC (16 years, 7 months ago) by aseel
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +24 -1 lines

- Extended support for server-side properties to other tasks.
- GUI components that pointed to the log viewer were removed
  (commented out) while readlog is being ported.
- Extended Support for server-side properties to remaining tasks and views.
- Removed (commented out) GUI components that point to the log viewer
  while readlog is being ported.

//
// ResourceTypeCategory.h
//
//	Category for resource types..
//
//
//  Copyright (c) 1998, 2000 Silicon Graphics, Inc.  All Rights Reserved.
//  
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of version 2.1 of the GNU Lesser General Public
//  License as published by the Free Software Foundation.
//  
//  This program is distributed in the hope that it would be useful, but
//  WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//  
//  Further, this software is distributed without any warranty that it is
//  free of the rightful claim of any third person regarding infringement
//  or the like.  Any license provided herein, whether implied or
//  otherwise, applies only to this software file.  Patent licenses, if
//  any, provided herein do not apply to combinations of this program
//  with other software, or any other product whatsoever.
//  
//  You should have received a copy of the GNU Lesser General Public
//  License along with this program; if not, write the Free Software
//  Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307,
//  USA.
//  
//  Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
//  Mountain View, CA 94043, or http://www.sgi.com/
//  
//  For further information regarding this notice, see:
//  http://oss.sgi.com/projects/GenInfo/NoticeExplan/
//

#ident "$Revision: 1.4 $"

#include <stdio.h>

#include <sysadm/Log.h>
#include <fsmgr/ResourceTypeCategory.h>

namespace fsmgr {
SaCATEGORY_REF_DEF(ResourceTypeCategory);
ResourceTypeCategory::ResourceTypeCategory()
: CamCategory("ResourceTypeCategory", cam_category_resource_type)
{
}

void
ResourceTypeCategory::modifyItemOnCamEvent(Item *item)
{
    String rtname = item->getAttr("_RESOURCE_TYPE").stringValue();
    //  This really should be configurable, but at the moment it's not
    //  configurable in FailSafe. :)
    String filename("/usr/lib/failsafe/resource_types" "/");
    filename += rtname;
    filename += "/";
    //  This should try localized versions of the properties files first
    //  (if LANG is en_US.dude, it should try Foo_en_US.dude, then Foo_en_US,
    //  Foo_en, then finally Foo if nothing else is found).  It doesn't do
    //  that.
    filename += rtname;
    Log::debug("ResourceTypeCategory",
        "Looking for RT properties file %s", (const char *)filename);
    String props = StringFromFile(filename);
    if (props != String::NUL) {
        item->setAttr(Attribute(rtname + ".PluginProperties", props));
    }
}

} // namespace fsmgr

using namespace fsmgr;